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• Bước 5: Đánh giá và sử dụng mô hình... o Ta sử dụng thư viện padas để tạo các
Trang 1Môn: Nhập Môn Trí Tuệ Nhân Tạo
Giảng viên: Ths Đặng Lê
Khoa
ĐỀ 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
BÁO CÁO ĐỒ ÁN CUỐI KỲ
20200011 Tô Thế Bảo
20200063 Đỗ Nhật Phát
Trang 2NỘI DUNG
CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
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
CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Môn: Nhập Môn Trí Tuệ Nhân Tạo
Giảng viên: Ths Đặng Lê
Khoa
Trang 3CHƯƠNG 1: TỔNG QUAN VỀ HỆ
Trang 4CHƯƠNG 1: TỔNG QUAN VỀ HỆ
Không có định hướng mục tiêu (ví dụ: công
cụ học ngôn ngữ, nhân vật trò chơi máy tính)
Trang 5CHƯƠNG 1: TỔNG QUAN VỀ HỆ
Trang 6CHƯƠNG 1: TỔNG QUAN VỀ HỆ
THỐNG
2 HỆ THỐNG ĐỐI THOẠI NGƯỜI VÀ MÁY.
• Lợi ích của chatbot AI Python:
Mô phỏng cuộc trò chuyện giống con người
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
Đưa ra các gợi ý về sản phẩm
Luôn sẵn sàng
Xử lý nhiều câu hỏi của khách hàng cùng lúc
Đưa ra câu trả lời ngay lập tức
Nâng cao trải nghiệm người dùng
Mở rộng dịch vụ khách hàng mà không tốn quá nhiều chi
phí
Trang 7Hybrid Chatbots (Chatbot Kết Hợp)
Hoạt động dựa trên các
Triển khai khó khăn hơn.
Kết hợp ưu điểm của Based và Self-Learning Chatbots.
Rule- Sử dụng quy tắc cho các cuộc trò chuyện đơn giản.
Sử dụng học máy cho các cuộc trò chuyện phức tạp.
Linh hoạt, thích nghi nhiều tình huống.
Lựa chọn phổ biến.
Trang 8CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
xa của RNN thông thường.
Lưu trữ thông tin dài hạn mà
không cần huấn luyện.
Sử dụng các kết nối phản hồi,
xử lý luồng dữ liệu.
Trang 9CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
1/21
ỨNG DỤNG:
Mô hình ngôn ngữ: Dự đoán từ tiếp theo, nhận dạng giọng nói, dịch máy,
sinh văn bản.
Phân tích cảm xúc: Phân loại cảm xúc của văn bản.
Nhận dạng thực thể được đặt tên (NER): Xác định, phân loại thực thể
trong văn bản.
Tóm tắt văn bản: Tạo bản tóm tắt ngắn gọn, giữ thông tin chính.
Dịch máy: Dịch văn bản từ ngôn ngữ này sang ngôn ngữ khác.
Dự đoán: Dự báo giá cổ phiếu, dự đoán thời tiết, dự đoán nhu cầu.
Nhận dạng giọng nói: Chuyển đổi ngôn ngữ nói thành văn bản.
Nhận dạng cử chỉ: Phân tích cử chỉ, chuyển động từ cảm biến.
Trang 10CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
ƯU ĐIỂM:
Linh hoạt, hiệu quả bộ nhớ cao
Khắc phục vấn đề phân tán độ
dốc
Quản lý phụ thuộc dài hạn tốt
Hiệu quả hơn RNN
Độ chính xác dự đoán cao
Trang 11CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Hình: Mô hình LSTM
Thành phần:
o Tế bào (Cell): Lưu trữ thông tin,
quyết định giá trị cập nhật cho trạng
thái ẩn
o Cổng quên (Forget Gate): Quyết
định thông tin nào từ trạng thái ẩn
trước được lưu giữ
o Cổng đầu vào (Input Gate):
Quyết định thông tin mới được thêm
vào trạng thái ẩn
o Cổng đầu ra (Output Gate):
Quyết định phần nào trạng thái ẩn
được đưa ra làm đầu ra
Luồng thông tin:
o Điều khiển bởi 3 cổng: quên, đầu
vào, đầu ra
o Tế bào ghi nhớ giá trị trong khoảng
thời gian tùy ý
CẤU TRÚC CHI TIẾT
Trang 12CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
oKhối vàng: nơi học tập.
oNút: kết hợp/sao chép dữ liệu.
Giải thích sơ đồ:
o: giá trị đầu ra cổng quên tại thời điểm t.
o: giá trị đầu ra cổng đầu vào tại thời
điểm t.
o: trạng thái ẩn tại thời điểm t.
o: giá trị đầu ra cổng đầu ra tại thời điểm
t.
o: đầu ra LSTM tại thời điểm t.
CẤU TRÚC CHI TIẾT
oKhối vàng: nơi học tập.
oNút: kết hợp/sao chép dữ liệu.
Giải thích sơ đồ:
o: giá trị đầu ra cổng quên tại thời điểm t.
o: giá trị đầu ra cổng đầu vào tại thời
điểm t.
o: trạng thái ẩn tại thời điểm t.
o: giá trị đầu ra cổng đầu ra tại thời điểm
t.
o: đầu ra LSTM tại thời điểm t.
CẤU TRÚC CHI TIẾT
Trang 13CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Hình: Trạng thái tế bào là một dạng giống băng truyền
o Chìa khóa của LSTM là
trạng thái tế bào (cell
state) - chính đường chạy
thông ngang phía trên của
sơ đồ hình vẽ.
o 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
tin có thể dễ dàng truyền
đi thông suốt mà không sợ
bị thay đổi.
SƠ LƯỢC THUẬT TOÁN
Trang 14CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Hình: Tầng sigmoid
o 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).
o 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ầng mạng sigmoid và một
phép nhân.
o Tầng sigmoid của LSTM cho đầu
ra trong khoảng [0, 1], biểu thị
lượng thông tin được truyền qua
Đầu ra 00 nghĩa là không truyền
thông tin, còn đầu ra 11 nghĩa là
truyền toàn bộ thông tin Một
Trang 15CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
o Bước đầu tiên của LSTM là quyết
định thông tin nào cần bỏ từ
trạng thái tế bào, được thực hiện
bởi "tầng cổng quên" (forget
gate layer) Tầng sigmoid này
nhận đầu vào là ℎt-1 và xt, đưa
ra kết quả trong khoảng [0, 1]
cho mỗi phần tử của trạng thái
Ct−1 Đầu ra 1 giữ lại toàn bộ
thông tin, còn 0 bỏ toàn bộ
thông tin.
SƠ LƯỢC THUẬT TOÁN
Trang 16CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
o Bước tiếp theo là quyết định
thông tin mới nào sẽ lưu vào
trạng thái tế bào, gồm hai phần
Đầu tiên, tầng sigmoid "tầng
cổng vào" (input gate layer)
quyết định giá trị nào sẽ được
cập nhật Tiếp theo, tầng tanh
tạo một véc-tơ giá trị mới () để
thêm vào trạng thái Cuối cùng,
hai giá trị này được kết hợp để
cập nhật trạng thái.
SƠ LƯỢC THUẬT TOÁN
o Bước tiếp theo là quyết định
thông tin mới nào sẽ lưu vào
trạng thái tế bào, gồm hai phần
Đầu tiên, tầng sigmoid "tầng
cổng vào" (input gate layer)
quyết định giá trị nào sẽ được
cập nhật Tiếp theo, tầng tanh
tạo một véc-tơ giá trị mới () để
thêm vào trạng thái Cuối cùng,
hai giá trị này được kết hợp để
cập nhật trạng thái.
SƠ LƯỢC THUẬT TOÁN
Trang 17CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
o Cuối cùng, ta cần quyết định
đầu ra là gì Đầu ra sẽ dựa trên
trạng thái tế bào, nhưng được
sàng lọc thêm Đầu tiên, tầng
sigmoid quyết định phần nào
của trạng thái tế bào sẽ được
xuất ra Sau đó, trạng thái tế
bào được đưa qua hàm tanh để
giá trị nằm trong khoảng [−1,
1], rồi nhân với đầu ra của tầng
sigmoid để tạo giá trị đầu ra
mong muốn.
SƠ LƯỢC THUẬT TOÁN
Trang 18CHƯƠ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
1/21
Để tạo ra một mô hình dự đoán, có thể tuân
theo các bước sau:
• Bước 1: Thu thập dữ liệu
• Bước 2: Tiền xử lý dữ liệu
• Bước 3: Xây dựng mô hình
• Bước 4: Huấn luyện mô hình
• Bước 5: Đánh giá và sử dụng mô hình
Trang 19o Ta sử dụng thư viện padas để tạo
các cuộc đàm thoại giữa user_a và
user_b, sau đó lưu data đã tạo vào
khung dữ liệu df = pd.DataFrame(data) và chuyển
khung dữ liệu đó sang dịnh dạng
csv.
o Tiến hành xây dựng bộ dữ liệu đào
tạo Bộ dữ liệu được xây dựng
thành file scv chứa các đoạn đối
thoại Mỗi đoạn đối thoại sẽ gồm 3
thành phần: tag, input, response
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
Bước 1: Thu thập dữ
liệu
Trang 20o Nối hai câu trở lên nếu câu trả lời có từ hai câu trở lên.
o Loại bỏ các loại dữ liệu không mong muốn.
o Nối thêm vào tất cả các câu trả lời.
o Tạo Tokenizer và tải toàn bộ từ vựng (câu hỏi + câu trả
lời) vào đó.
o Tiến hành cập nhật từ vựng dựa trên danh sách các
input.
o Vector hóa từng input của danh sách các input thành
chuỗi các số nguyên (sequences).
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
Bước 2: Tiền xử lý dữ
liệu
Trang 21o Tạo Embedding layer
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
Bước 3: Xây dựng mô hình
embedding_layer_question = Embedding(VOCAB_SIZE,embeddings_dim ,input_length=maxlen_questions ,weights = [embedding_matrix]
,trainable= False )
embedding_layer_answer = Embedding(VOCAB_SIZE,embeddings_dim ,input_length=maxlen_answers ,weights = [embedding_matrix]
,trainable= False )
Trang 22o Tạo mô hình Seq-to-seq LSTM:
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
encoder_inputs = Input(shape = (maxlen_questions, ))
encoder_embedding = embedding_layer_question(encoder_inputs)
encoder_outputs, state_h, state_c = LSTM(300,dropout=0.05,return_state=True)(encoder_embedding)
encoder_states = [state_h, state_c]
decoder_inputs = Input(shape=(maxlen_answers, ))
decoder_embedding = embedding_layer_answer(decoder_inputs)
decoder_lstm = LSTM(300, return_state=True, return_sequences=True,dropout=0.05)
decoder_outputs , _ , _ = decoder_lstm(decoder_embedding, initial_state=encoder_states)
decoder_dense = Dense(VOCAB_SIZE, activation=' softmax ')
output = decoder_dense(decoder_outputs)
model = Model([encoder_inputs, decoder_inputs], output)
model.compile(optimizer = ' adam ', loss = 'categorical_crossentropy ', metrics=['accuracy'])
model.summary()
Bước 3: Xây dựng mô hình
Trang 23o Biên dịch mô hình với các thiết lập thông
số như: hàm loss là
Trang 24CHƯƠ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
Bước 3: Xây dựng mô hình
Trang 25o Sau đó, chúng ta huấn
luyện mô hình đã tạo với
số lượng epochs là 100 và
với hàm
categorical_crossentropy.lo
ss Ta được kết quả huấn
luyện mô hình với độ chính
Trang 26CHƯƠ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
o : Biểu đồ về
độ chính xác của mô hình seq-to-seq LSTM
Bước 4: Huấn luyện mô hình
Trang 27o Tạo inference models:
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
Encoder inference model: Lấy câu hỏi làm input và output LSTM state (h và c)
Decoder inference model: Nhận 2 đầu vào, một là LSTM state (output của mô hình encoder), thứ hai là các câu trả lời
input sequence
Bước 4: Huấn luyện mô hình
Trang 28CHƯƠ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
Bước 5: Đánh giá và sử dụng mô hình
o Lấy một câu hỏi làm input và dự đoán
các value state bằng cách sử dụng
enc_model
o Đặt các value state trong LSTM của
decoder
o Tạo ra một sequence chứa phần tử
o Nhập seqence này vào dec_model
o Thay thế phần tử này bằng phần tử đã được dec_model dự đoán và cập nhật các value state
o Thực hiện lặp đi lặp lại các bước trên cho đến khi đạt được tag hoặc độ dài câu trả lời đã đạt tối đa
Trang 29CHƯƠ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
Bước 5: Đánh giá và sử dụng mô hình
o Nhận xét: Hệ thống thực hiện được cuộc đàm thoại suôn sẻ dựa trên những gì đã học, tuy vẫn có khả năng dự đoán sai với từ khóa chưa
có trong dữ liệu Dù vậy, kết quả cho thấy mô hình hoạt động hiệu quả và chính xác, có thể ứng dụng vào thực tế Tuy nhiên, bộ dữ liệu huấn luyện vẫn còn nhỏ, cần được nghiên cứu và bổ sung thêm để cung cấp câu trả lời tốt hơn, đáp ứng nhu cầu người dùng
Trang 30mô hình Cần bổ sung dữ liệu và cải thiện xử lý ngôn ngữ tiếng Việt.
Trang 31o Mở rộng ứng dụng: Khám phá và áp dụng mô hình vào nhiều lĩnh vực khác nhau
như hỗ trợ kỹ thuật, dịch máy, và hệ thống giáo dục trực tuyến
o Cải tiến phần cứng: Sử dụng các công nghệ phần cứng mới như GPU và TPU để cải thiện tốc độ và hiệu quả của quá trình đào tạo mô hình Hệ thống hỏi đáp và trả lời tự động bằng mô hình LSTM có tiềm năng lớn trong việc cải thiện trải nghiệm người dùng và nâng cao hiệu quả của các dịch vụ kỹ thuật số Với những cải tiến và
nghiên cứu tiếp theo, mô hình này sẽ ngày càng trở nên mạnh mẽ và linh hoạt hơn