1. Trang chủ
  2. » Luận Văn - Báo Cáo

đề tài xây dựng hệ thống hỏi đáp và trả lời tự động bằng mô hình long short term memory

28 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

HỆ THỐNG ĐỐI THOẠI NGƯỜI VÀ MÁY.Các hệ thống đối thoại người máy Dialogue systems, còn được gọi là trợ lý tươngtác hội thoại, trợ lý ảo và đôi khi được gọi là thuật ngữ là chat

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

KHOA ĐIỆN TỬ - VIỄN THÔNG

BÁO CÁO CUỐI KÌ

NHẬP MÔN TRÍ TUỆ NHÂN TẠO

ĐỀ TÀI: XÂY DỰNG HỆ THỐNG HỎI ĐÁP VÀ TRẢLỜI TỰ ĐỘNG BẰNG MÔ HÌNH LONG SHORT-

TERM MEMORY

GVHD: ThS Nguyễn Thái Công Nghĩa Nhóm: 07

Trang 2

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

KHOA ĐIỆN TỬ - VIỄN THÔNG

ĐỒ ÁN CUỐI KÌ

NHẬP MÔN TRÍ TUỆ NHÂN TẠO

ĐỀ TÀI: XÂY DỰNG HỆ THỐNG HỎI ĐÁP VÀ TRẢLỜI TỰ ĐỘNG BẰNG MÔ HÌNH LONG SHORT-

TERM MEMORY

Thành viên:

19200080 Nguyễn Nhựt Hào19200111 Nguyễn Quốc Khánh19200268 Nguyễn Thành Đạt19200276 Trần Trung Dũng

19200491 Phãm Hồng Lâm Thành20200011 Tô Thế Bảo

GIẢNG VIÊN HƯỚNG DẪN:ThS NGUYỄN THÁI CÔNG NGHĨA

Trang 3

Thành phố Hồ Chí Minh – Năm 2024

BẢNG PHÂN CÔNG NHIỆM VỤ

Nguyễn Nhựt Hào 19200080

Tiền xử lý cho dữ liệuNguyễn Quốc Khánh 19200111 Xây dựng hệ thống trả lời tự

Nguyễn Thành Đạt 19200268 Xây dựng và huấnluyện mô hình LSTMTrần Trung Dũng 19200276 Chuẩn bị dữ liệu

dataset, Import vàload data file

Phạm Hồng lâm Thành 19200491

Biểu diễn sự thay đổicủa accuracy và losskhi huấn luyện môhình xong và đánh giá

Tiền xử lý cho dữ liệu

Trang 4

BẢNG ĐÁNH GIÁ THÀNH VIÊN

Trang 5

2.1.3 Sơ lược thuật toán trong mô hình LSTM 7

2.1.4 Mô hình LSTM sử dụng phương pháp seq-to-seq 10

CHƯƠNG 3:XÂY DỰNG HỆ THỐNG TRẢ LỜI VÀ HỎI ĐÁP BẰNG MÔHÌNH LSTM SỬ DỤNG PHƯƠNG PHÁP SEQUENCE-TO-SEQUENCE 12

3.1 CÁC BƯỚC XÂY DỰNG MỘT MÔ HÌNH DEEP LEARNING 10

3.2 XÂY DỰNG MÔ HÌNH 13

3.2.1 Tạo dữ liệu 13

3.2.2 Tiền xử lý dữ liệu 14

3.2.3 Xây dựng và huấn luyện mô hình Seq-to-seq LSTM 15

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

4.1 KẾT LUẬN 21

4.2 HƯỚNG PHÁT TRIỂN 21

TÀI LIỆU THAM KHẢO 23

Trang 6

DANH SÁCH CÁC HÌNH

Hình 2.1: Mô hình LSTM 6

Hình 2.2 : Các kí hiệu trong mô hình LSTM 6

Hình 2.3: Trạng thái tế bào là một dạng giống băng truyền 7

Hình 2.4: Tầng sigmoid 8

Hình 2.5: Quyết định xem thông tin cần bỏ đi từ trạng thái tế bào 8

Hình 2.6: : Quyết định thông tin mới nào sẽ lưu vào trạng thái tế bào 9

Hình 2.7 : Cập nhập trạng thái tế bào cũ Ct−1 thành trạng thái mới Ct 9

Hình 2.8 : Quyết định đầu ra là gì 10

Hình 2.10 : ví dụ chuyển câu tiếng anh sang tiếng pháp 10

Hình 3.1 : Tạo dữ liệu 13

Hình 3.2 : Mô hình Seq-to-seq LSTM y 17

Hình 3.3 : Huấn luyện cho mô hình 17

Hình 3.4 : Biểu đồ về độ chính xác của mô hình seq-to-seq LSTM 1819

Trang 7

CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG1.1 GIỚI THIỆU

Bài toán xây dựng hệ thống trả lời tự động là một bài toán khó thuộc lĩnh vực xử lýngôn ngữ tự nhiên Bởi vì tính nhập nhằng, đa nghĩa, đa ngữ cảnh cũa ngôn ngữ tự nhiên.Bài toán đặt ra nhiều thách thức để phát hiện ra được câu trả lời phù hợp nhất, thông tinhữu ích nhất.

1.2 HỆ THỐNG ĐỐI THOẠI NGƯỜI VÀ MÁY.

Các hệ thống đối thoại người máy (Dialogue systems), còn được gọi là trợ lý tươngtác hội thoại, trợ lý ảo và đôi khi được gọi là thuật ngữ là chatbot, được sữ dụng rộng rãitrong các ứng dụng khác nhau, từ các dịch vụ kỹ thuật cho đến các công cụ có thể họcngôn ngự và giải trí Các hệ thống đối thoại có thể được chia thành các hệ thống hướngmục tiêu trên một miền ứng dụng, ví dụ như các dịch vụ hỗ trợ kỹ thuật, và các hệ thốngkhông có định hướng mục tiêu, ví dụ như các công cụ học ngôn ngữ hoặc các nhân vậttrò chơi máy tính

Khi nói về trí tuệ nhân tạo, có rất ít ngôn ngữ nào linh hoạt, dễ tiếp cận và hiệu quảnhư Python Đó chính là lý do tại sao Python thường được lựa chọn đầu tiên cho việcphát triển trí tuệ nhân tạo trên khắp thế giới

Chatbot AI Python là các chương trình được thiết kế để mô phỏng cuộc trò chuyệngiống con người bằng cách sử dụng công nghệ NLP và AI Những robot thông minh nàycó khả năng hiểu và phản hồi vào đầu vào văn bản hoặc giọng nói bằng ngôn ngữ tựnhiên, cung cấp dịch vụ hỗ trợ khách hàng mượt mà, trả lời câu hỏi hoặc thậm chí đưa racác gợi ý về sản phẩm.

Chúng đang thay đổi động thái tương tác của khách hàng bằng cách luôn sẵn sàng,xử lý nhiều câu hỏi của khách hàng cùng lúc và đưa ra câu trả lời ngay lập tức Điều nàykhông chỉ nâng cao trải nghiệm người dùng mà còn mang lại cho doanh nghiệp một côngcụ tuyệt vời để mở rộng dịch vụ khách hàng mà không tốn quá nhiều chi phí.

Trang 8

1.3 CÁC LOẠI CHATBOT

Rule-Based Chatbots (Chatbot dựa trên quy tắc): Những Chatbot này

hoạt động dựa trên các quy tắc được xác định trước Chúng thích hợp chocác tình huống yêu cầu cuộc trò chuyện giữa câu hỏi và trả lời đơn giản.Hạn chế của chúng là không thể xử lý các câu hỏi phức tạp vì trí thôngminh của nó giới hạn bởi các quy tắc được lập trình.

Self-Learning Chatbots (Chatbot tự học): Được cung cấp bởi học máy và

trí tuệ nhân tạo, những Chatbot này học từ những sai lầm của họ và từ cácđầu vào mà nó nhận được Càng nhiều dữ liệu chúng được đào tạo thì cácphản hồi của Chatbot với người dùng các tự nhiên Những Chatbot này phùhợp với các nhiệm vụ phức tạp nhưng việc triển khai chúng khó khăn hơn. Hybrid Chatbots (Chatbot kết hợp): Như cái tên ngụ ý, những Chatbot

này kết hợp những ưu điểm của cả hai loại Chatbot kể trên Chúng hoạtđộng dựa trên các quy tắc được định trước cho các cuộc trò chuyện đơngiản và sử dụng khả năng học máy cho các cuộc trò chuyện phức tạp.Chatbot kết hợp mang lại tính linh hoạt và có thể thích nghi với nhiều tìnhhuống khác nhau, làm cho chúng trở thành sự lựa chọn phổ biến.

Trang 9

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

2.1 Mô hình LSTM2.1.1 Giới thiệu

Trong việc thách thức dự đoán trình tự, mạng bộ nhớ dài-ngắn hạn (Long term memory) là là một dạng đặc biệt của RNN , nó có khả năng học được các phụ thuộcxa.LSTM được giới thiệu bởi Hochreiter & Schmidhuber (1997), và sau đó đã được cảitiến và phổ biến bởi rất nhiều người trong ngành Chúng hoạt động cực kì hiệu quả trênnhiều bài toán khác nhau nên dần đã trở nên phổ biến như hiện nay.

LSTM được thiết kế để tránh được vấn đề phụ thuộc xa (long-term dependency,trong đó RNN không thể dự đoán các từ ngữ được lưu trữ trong bộ nhớ dài hạn nhưng cóthể đưa ra dự đoán chính xác hơn dựa trên dữ liệu hiện tại RNN không cung cấp hiệusuất hiệu quả khi độ dài khoảng cách tăng lên

LSTM có thể lưu giữ thông tin trong thời gian dài theo mặc định Nó được sử dụngđể xử lý, dự đoán và phân loại dữ liệu theo chuỗi thời gian Ta không cần phải huấnluyện nó để có thể nhớ được Tức là ngay nội tại của nó đã có thể ghi nhớ được mà khôngcần bất kì can thiệp nào.

LSTM có các kết nối phản hồi, không giống như các mạng nơron truyền thẳng(FNN) thông thường Nó có thể xử lý không chỉ các điểm dữ liệu đơn lẻ (như ảnh) màcòn có thể xử lý các luồng dữ liệu hoàn chỉnh (chẳng hạn như lời nói hoặc video) LSTMcó thể được sử dụng cho các tác vụ như nhận dạng chữ viết tay không phân đoạn, liên kếthoặc nhận dạng giọng nói.

Một số ứng dụng của mô hình LSTM:

Mô Hình Ngôn Ngữ: LSTM được sử dụng rộng rãi trong dự đoán từ tiếp theo

trong một chuỗi các từ Chúng có thể mô hình hóa ngữ cảnh của một từ trong một câuhoặc tài liệu, cho phép các ứng dụng như nhận dạng giọng nói, dịch máy và sinh văn bản

Trang 10

Phân Tích Cảm Xúc: LSTM được sử dụng trong các nhiệm vụ phân tích cảm xúc

để phân loại tính cảm xúc của một đoạn văn thành tích cực, tiêu cực hoặc trung tính.Chúng có thể học các mẫu phức tạp trong dữ liệu văn bản và nắm bắt những sự tinh tếtrong ngôn ngữ, làm cho chúng hiệu quả trong phân tích cảm xúc trên mạng xã hội, đánhgiá của khách hàng

Nhận Dạng Thực Thể Được Đặt Tên (NER): LSTM được sử dụng để xác định

và phân loại các thực thể được đặt tên (như tên của người, địa điểm, tổ chức) trong vănbản Bằng cách mô hình hóa tính tuần tự của ngôn ngữ, LSTM có thể nhận diện các thựcthể ngay cả trong các câu giàu ngữ cảnh.

Tóm Tắt Văn Bản: LSTM được sử dụng trong các nhiệm vụ tóm tắt văn bản trừu

tượng với mục tiêu là tạo ra một bản tóm tắt ngắn gọn của một văn bản dài trong khi vẫngiữ lại thông tin chính của nó Chúng có thể hiểu ý nghĩa của văn bản đầu vào và tạo ra

các bản tóm tắt mạch lạc

Dịch Máy: LSTM đã được áp dụng thành công trong các hệ thống dịch máy để

dịch văn bản từ một ngôn ngữ sang ngôn ngữ khác Bằng cách mã hóa chuỗi ngôn ngữnguồn thành một biểu diễn vectơ có độ dài cố định, LSTM có thể nắm bắt ý nghĩa củacâu đầu vào và tạo ra các bản dịch chính xác.

Dự Đoán : LSTM được sử dụng rộng rãi trong các nhiệm vụ phân tích chuỗi thời

gian , dự báo do khả năng của chúng trong việc nắm bắt các phụ thuộc thời gian trong dữliệu tuần tự Chúng có thể mô hình các mẫu phức tạp trong dữ liệu chuỗi thời gian và đưara dự đoán chính xác về các giá trị tương lai, phù hợp cho các ứng dụng như dự đoán giácổ phiếu, dự đoán thời tiết và dự đoán nhu cầu.

Trang 11

Nhận Dạng Giọng Nói: LSTM được sử dụng trong các hệ thống nhận dạng giọng

nói để chuyển đổi ngôn ngữ nói thành văn bản Bằng cách xử lý dữ liệu âm thanh tuần tựở các tỷ lệ thời gian khác nhau, LSTM có thể nhận diện các mẫu âm vị và chuyển đổi

chúng thành văn bản

Nhận Dạng Cử Chỉ: Trong các ứng dụng nhận dạng cử chỉ, LSTM được sử dụng

để phân tích dữ liệu tuần tự từ các cảm biến (như cảm biến gia tốc hoặc cảm biến quay)để nhận dạng cử chỉ và chuyển động Chúng có thể nắm bắt động lực tuần tự của cử chỉvà phân loại chúng thành các loại được xác định trước.

Ưu điểm và nhược điểm của LSTM:

LSTM mang lại sự linh hoạt, hiệu suất bộ nhớ được cải thiện và khả năng khắcphục các vấn đề liên quan đến phân tán độ dốc Một số lợi ích khác của mạng LSTM là:

LSTM quản lý các phụ thuộc dài hạn tốt hơn vì cổng quên cho phép mạng loại bỏthông tin không liên quan.

Hiệu quả hơn so với RNN: mạng thần kinh LSTM phải cập nhật cổng cho mỗi đầuvào mới, nhưng RNN thông thường sẽ cập nhật mọi nút xuyên suốt, tốn nhiều thời gianvà sức mạnh tính toán hơn

Độ chính xác cao cho dự đoán: Khả năng nhớ lại quá khứ giúp mạng lưới thầnkinh có nhiều dữ liệu hơn để đưa ra dự đoán chính xác hơn.

Tuy nhiên, mạng bộ nhớ ngắn hạn dài cũng có những hạn chế mà bạn cần lưu ý Vídụ, chúng có xu hướng bị trang bị quá mức, một vấn đề phổ biến khác về mạng lưới thầnkinh Điều này xảy ra khi mạng nơ-ron chuyên môn hóa quá chặt chẽ vào dữ liệu huấnluyện và không thể thích ứng cũng như khái quát hóa với các đầu vào mới

-Một thách thức khác với LSTM là chúng đòi hỏi nhiều sức mạnh tính toán và bộnhớ hơn Điều này một phần là do sự phức tạp của chúng Một số chiến lược có thể giúpbạn khắc phục vấn đề này, bao gồm cố tình giữ độ phức tạp ở mức thấp hơn hoặc sử dụngcác công nghệ khác để bổ sung cho mạng lưới thần kinh.

Trang 12

2.1.2 Cấu trúc mô hình LSTM

LSTM được tạo thành từ bốn mạng lưới thần kinh và nhiều khối bộ nhớ được gọilà các tế bào (cel) trong cấu trúc chuỗi Một đơn vị LSTM thông thường bao gồm một ô,một cổng đầu vào (Input), một cổng đầu ra (Output) và một cổng quên (forget gate).Luồng thông tin đi vào và ra khỏi cell được điều khiển bởi ba cổng và ô ghi nhớ các giátrị trong những khoảng thời gian tùy ý Thuật toán LSTM được điều chỉnh tốt để phânloại, phân tích và dự đoán chuỗi thời gian có khoảng thời gian không chắc chắn.

Hình 2.1: Mô hình LSTM

Hình 2.2: Các ký hiệu trong sơ đồ mô hình LSTM

-Ở sơ đồ trên, mỗi một đường mang một véc-tơ từ đầu ra của một nút tới đầu vàocủa một nút khác Các hình trong màu hồng biểu diễn các phép toán như phép cộng véc-

Trang 13

tơ chẳng hạn, còn các ô màu vàng được sử dụng để học trong các từng mạng nơ-ron Cácđường hợp nhau kí hiệu việc kết hợp, còn các đường rẽ nhánh ám chỉ nội dung của nóđược sao chép và chuyển tới các nơi khác nhau.

2.1.3 Sơ lược thuật toán trong mô hình LSTM

Chìa khóa của LSTM là trạng thái tế bào (cell state) - chính đường chạy thôngngang phía trên của sơ đồ hình vẽ.

Trạng thái tế bào là một dạng giống như băng truyền Nó chạy xuyên suốt tất cảcác mắt xích (các nút mạng) và chỉ tương tác tuyến tính đôi chút Vì vậy mà các thông tincó thể dễ dàng truyền đi thông suốt mà không sợ bị thay đổi.

Hình 2.3: Trạng thái tế bào là một dạng giống băng truyền

LSTM có khả năng bỏ đi hoặc thêm vào các thông tin cần thiết cho trạng thái tếbáo, chúng được điều chỉnh cẩn thận bởi các nhóm được gọi là cổng (gate).

Các cổng là nơi sàng lọc thông tin đi qua nó, chúng được kết hợp bởi một tầngmạng sigmoid và một phép nhân.

Trang 14

Hình 2.4: Tầng sigmoid

Tầng sigmoid sẽ cho đầu ra là một số trong khoản [0,1][0,1], mô tả có bao nhiêuthông tin có thể được thông qua Khi đầu ra là 00 thì có nghĩa là không cho thông tin nàoqua cả, còn khi là 11 thì có nghĩa là cho tất cả các thông tin đi qua nó Một LSTM gồm có3 cổng như vậy để duy trì và điều hành trạng thái của tế bào.

Bước đầu tiên của LSTM là quyết định xem thông tin nào cần bỏ đi từ trạng thái tếbào Quyết định này được đưa ra bởi tầng sigmoid - gọi là “tầng cổng quên” (forget gatelayer) Nó sẽ lấy đầu vào là ℎt-1 và xt rồi đưa ra kết quả là một số trong khoảng [0,1]] cho

mỗi số trong trạng thái tế bào Ct−1 Đẩu ra là 1 thể hiện rằng nó giữ toàn bộ thông tin lại,

còn 0 chỉ rằng toàn bộ thông tin sẽ bị bỏ đi.

Hình 2.5: Quyết định xem thông tin cần bỏ đi từ trạng thái tế bào

Bước tiếp theo là quyết định xem thông tin mới nào ta sẽ lưu vào trạng thái tế bào.Việc này gồm 2 phần Đầu tiên là sử dụng một tầng sigmoid được gọi là “tầng cổng vào”

(input gate layer) để quyết định giá trị nào ta sẽ cập nhập Tiếp theo là một tầng tanh tạo

Trang 15

ra một véc-tơ cho giá trị mới ~Ct nhằm thêm vào cho trạng thái Trong bước tiếp theo, tasẽ kết hợp 2 giá trị đó lại để tạo ra một cập nhập cho trạng thái.

Hình 2.6: Quyết định thông tin mới nào sẽ lưu vào trạng thái tế bào

Giờ là lúc cập nhập trạng thái tế bào cũ Ct−1 thành trạng thái mới Ct Ở các bước

trước đó đã quyết định những việc cần làm, nên giờ ta chỉ cần thực hiện là xong.Ta sẽ

nhân trạng thái cũ với ft để bỏ đi những thông tin ta quyết định quên lúc trước Sau đó

cộng thêm it * Ct Trạng thái mới thu được này phụ thuộc vào việc ta quyết định cập nhập

mỗi giá trị trạng thái ra sao.

Hình 2.7: Cập nhập trạng thái tế bào cũ Ct−1 thành trạng thái mới Ct.

Cuối cùng, ta cần quyết định xem ta muốn đầu ra là gì Giá trị đầu ra sẽ dựa vàotrạng thái tế bào, nhưng sẽ được tiếp tục sàng lọc Đầu tiên, ta chạy một tầng sigmoid đểquyết định phần nào của trạng thái tế bào ta muốn xuất ra Sau đó, ta đưa nó trạng thái tế

Trang 16

bảo qua một hàm tanh để có giá trị nó về khoảng [−1, 1], và nhân nó với đầu ra của cổng

sigmoid để được giá trị đầu ra ta mong muốn.

Hình 2.8: Quyết định đầu ra là gì

2.1.4 Mô hình LSTM sử dụng phương pháp sequence to sequence

Một trong những phương pháp xây dựng chatbot hiệu quả nhất là sử dụng cácmô hình seq2seq Blog này đến từ máy ảnh và hướng dẫn cách làm việc với kiến trúcseq2seq.

Sequence-to-sequence (Seq2Seq) là về các mô hình huấn luyện để chuyển đổitrình tự từ một miền (ví dụ: các câu bằng tiếng anh) sang các trình tự trong một miềnkhác (ví dụ: các câu tương tự được dịch sang pháp) Điều này có thể được sử dụng đểdịch máy hoặc trả lời câu hỏi tự do (tạo câu trả lời bằng ngôn ngữ tự nhiên cho câuhỏi bằng ngôn ngữ tự nhiên)

Hình 2.10: ví dụ chuyển câu tiếng anh sang tiếng pháp

Mô hình LTSM với Seq2seq sử dụng kiến trúc Encoder-Decoder có độ dài đầu vào

và đầu ra khác nhau Kiến trúc Encoder-Decoder được coi là hai khối - Mã hóa (Encoder)

Ngày đăng: 29/06/2024, 15:53

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w