BÁO CÁO ĐỒ ÁN CƠ SỞ ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG CHAT TỰ ĐỘNG VỚI DEEP LEARNING

47 457 0
BÁO CÁO ĐỒ ÁN CƠ SỞ ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG CHAT TỰ ĐỘNG VỚI DEEP LEARNING

Đ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

ĐẠI HỌC ĐÀ NẴNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT - HÀN BÁO CÁO ĐỒ ÁN CƠ SỞ ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG CHAT TỰ ĐỘNG VỚI DEEP LEARNING Giảng viên hướng dẫn: Sinh viên thực hiện: ThS LÊ SONG TOÀN Nguyễn Quốc Cường 17IT130 Nguyễn Thị Ngà 17CE029 ĐÀ NẴNG, THÁNG 08 NĂM 2020 ĐẠI HỌC ĐÀ NẴNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT - HÀN BÁO CÁO ĐỒ ÁN CƠ SỞ ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG CHAT TỰ ĐỘNG VỚI DEEP LEARNING Đà Nẵng, tháng 08 năm 2020 Trang Đại học Công nghệ thông tin Truyền thông Việt Hàn – Đại học Đà Nẵng MỞ ĐẦU Trong năm gần đây, với phát triển nhân loại khoa học cơng nghệ có bước tiến vượt trội, điển hình ngành cơng nghiệp 4.0 Với phát triển vượt bậc công nghệ việc triển khai công nghệ vào đời sống người ngày hoàn thiện Điển hình việc dụng trí thơng minh nhân tạo nhằm thay công cụ truyền thống giúp cải thiện sống Trong nhiều năm trở lại đây, với nhu cầu hội nhập ngày cao quốc gia kinh tế lẫn văn hóa, khiến nhu cầu giao tiếp ngày tăng cao Nhưng nhiều người khơng có thời gian để gặp bạn bè, người khó bắt chuyện, nói việc nâng cao giao tiếp diễn khó khăn Chính cần có phần mềm, công cụ để hỗ trợ việc giao tiếp đâu hay thời gian Nhờ tiên tiến khoa học công nghệ vượt trội từ trí thơng minh nhân tạo, để tạo phần mềm hay công cụ tương tác người máy ứng dụng dựa tảng trí tuệ nhân tạo phổ biến kể đến ứng dụng dựa Chatbot Có thể nói Chatbot hình thức thơ sơ trí tuệ nhân tạo, chương trình tạo từ máy tính, tiến hành trị chuyện thơng qua phương thức văn bản, hình ảnh, âm thanh,… Hiện có nhiều chatbot nâng cấp chatbot trợ lý ảo có thị trường ông lớn ngành công nghệ tạo Bên cạnh họ cung cấp nhiều tư liệu Điều giúp ta tiếp cận việc xây dựng chatbot trở nên đơn giản Đại học Công nghệ thông tin Truyền thông Việt Hàn – Đại học Đà Nẵng LỜI CẢM ƠN Để thực hoàn thành tốt đồ án này, em nhận giúp đỡ hướng dẫn tận tình thầy thuộc Đại Học Công Nghệ Thông Tin Và Truyền Thông Việt Hàn – Đại Học Đà Nẵng Em xin cảm ơn thầy cô thuộc môn chuyên ngành cung cấp cho chúng em thông tin, kiến thức vô quý báu cần thiết suốt thời gian q để em thực hồn thành đồ án Đặc biệt em xin chân thành cảm ơn thầy Lê Song Toàn, người trực tiếp hướng dẫn chúng em thời gian thực đồ án Cuối cùng, xin chân thành cảm ơn bạn ngành công nghệ thông tin ủng hộ, giúp đỡ, chia sẻ kiến thức, kinh nghiệm tài liệu có giúp chúng tơi q trình nghiên cứu thực đề tài Do giới hạn mặt thời gian kiến thức kinh nghiệm thực tiễn nên đề tài không tránh khỏi sai sót Em mong nhận thơng cảm q thầy mong đón nhận góp ý thầy cô bạn Em xin chân thành cảm ơn! Đại học Công nghệ thông tin Truyền thông Việt Hàn – Đại học Đà Nẵng Đại học Công nghệ thông tin Truyền thông Việt Hàn – Đại học Đà Nẵng NHẬN XÉT (Của giảng viên hướng dẫn) ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… Đà Nẵng, ngày … tháng … năm 20… Giảng viên hướng dẫn ThS.Lê Song Tồn Đại học Cơng nghệ thơng tin Truyền thông Việt Hàn – Đại học Đà Nẵng MỤC LỤC Chương 1: TỔNG QUAN VỀ HỆ THỐNG CHATBOT 1.1Chatbot ? 1.2Cấu trúc thành phần Chatbot: 1.3 Hiểu ngôn ngữ tự nhiên (NLU): 1.3.1 Xác định ý định người dùng 1.4 Quản lý hội thoại (DM) 1.4.2 Mơ hình Frame-based 1.5 Thành phần sinh ngôn ngữ (NLG) 1.5.1 Template-based NLG 1.5.2 Plan-based NLG 10 1.5.3 Class-based NLG 11 Chương 2: 12 CƠ SỞ LÝ THUYẾT .12 2.1 Kiến trúc mạng nơ ron nhân tạo 12 2.2 Mạng nơ ron hồi quy RNN 16 2.3 Long Short-Term Memory: 18 2.3.1 Vấn đề phụ thuộc dài 18 2.3.2 Cấu trúc mạng 19 2.3.3 Phân tích mơ hình LSTM 20 2.4 Giới thiệu mô hình Sequence: 23 2.5 Seq2Seq Model: 23 2.6 Beam Search – Thuật tốn tìm kiếm hỗ trợ Seq2Seq: 25 2.7 Word embeddings 27 2.7.1 Word2vec 28 2.7.2 Glove 29 Chương 3: 31 XÂY DỰNG ỨNG DỤNG CHATBOT 31 3.1 Kiến trúc ứng dụng 31 3.2 Quá trình xây dựng 31 3.2.1 Tiền xử lý liệu: 31 Đại học Công nghệ thông tin Truyền thông Việt Hàn – Đại học Đà Nẵng 3.2.2 Xây dựng mơ hình Seq2Seq .32 3.2.3 Đào tạo mơ hình Seq2Seq 33 3.2.4 Thử nghiệm mơ hình Seq2Seq 33 3.3 Kết đạt 34 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .36 Kết luận: 36 Hướng phát triển: 36 DANH MỤC THAM KHẢO 37 Đại học Công nghệ thông tin Truyền thông Việt Hàn – Đại học Đà Nẵng DANH MỤC HÌNH Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Chatbot Các thành phần Chatbot Các bước xử lý NLU .3 Các bước xử lý NLU Mơ hình bước xác định ý định Mơ hình quản lý trạng thái định hành động hội thoại .7 Quản lý hội thoại theo mơ hình FSA .8 Khung chat bot hỏi thông tin khách hàng .9 Phương pháp sinh ngôn ngữ dựa tập mẫu câu trả lời 10 10 Phương pháp sinh ngôn ngữ dựa Plan based 10 11 Phương pháp sinh ngôn ngữ Class based 11 12 Cấu trúc mạng nơtron nhân tạo 12 13 Q trình xử lý thơng tin mạng nơ ron nhân tạo 13 14 Mạng RNN 16 15 Mạng RNN chiều 17 16 Mạng RNN nhiều tầng 18 17 RNN phụ thuộc long-term 18 18 Các module lặp mạng RNN 19 19 Các module lặp mạng LSTM chứa lớp 19 20 Tế bào trạng thái (Cell state) LSTM 20 21 Cổng trạng thái LSTM 20 22 LSTM focus f .21 23 LSTM focus I .21 24 LSTM focus c 22 25 LSTM focus 22 26 Thành phần LSTM 24 27 LSTM Encoder 24 28 LSTM Decoder 25 29 RNN/LSTM lồng 25 30 Cây xác suất 27 31 Mơ hình từ nhúng 28 32 Mơ hình CBOW Skip-Ngram 29 33 Kiến trúc ứng dụng chatbot 31 34 Quá trình huấn luyện 34 35 Tương tác trò chuyện với chatbot .34 36 Trực quan từ nhúng với TensorBoard 35 37 Giao diện web .35 Đại học Công nghệ thông tin Truyền thông Việt Hàn – Đại học Đà Nẵng DANH MỤC CỤM TỪ VIẾT TẮT STT Cụm từ Viết tắt Natural Language Processing NLP AI 10 11 12 13 14 15 16 17 18 Artificial Intelligence Artificial Nerual Network Continuous Bag of Words Convolution Neural Network Conditional Random Fields Dialogue Management Deep Neural Networks Dialogue State Tracking Finite State Automata Finite State Machine ANN CBOW CNN CRF DM DNN DST FSA FSM Long short-term memory LSTM Natural Language Generation NLG NLU Natural Language Understanding Machine Learning Part Of Speech Recurrent Neural Network Support Vector Machine ML POS RNN SVM Đại học Công nghệ thông tin Truyền thông Việt Hàn – Đại học Đà Nẵng o activation: Hàm kích hoạt sử dụng cell candidate layer cổng sử dụng để tính tốn đầu từ giá trị cell Như mơ hình mặc định hàm Tanh o recurrent_activation: Hàm kích hoạt cổng quên, vào, - mặc định hàm sigmoid o return_sequences: Boolean - Quyết định xem trả đầu cuối mạng tất đầu o unroll: Boolean - Nếu True mạng khơng duỗi, vịng lặp sử dụng để tính tốn giá trị, Unroll tăng tốc độ xử lí RNN nhiên chiếm dụng nhớ lớn, nên option phù hợp với liệu ngắn 2.4 Giới thiệu mô hình Sequence: Sequence Model - Mơ hình mơ hình dùng để xử lí tốn mà liệu mang tính tuần tự, liên tục như: - Speech Recognition (Nhận dạng giọng nói): Từ liệu âm đầu vào, đưa đoạn nội dung dạng text Music generation (Sáng tác âm nhạc): Từ liệu từ hàng trăm, ngàn hát, tự sinh giai điệu hát Sentiment Classification (Phân loại ý kiến): Phân loại ý kiến, cảm nghĩ từ nội dung bình luận, câu từ, lời nói Machine translation (Dịch máy): Tự động dịch nội dung từ ngôn ngữ sang ngơn ngữ khác với ngữ cảnh xác Có thể nói, liệu mà mơ hình xử lí thường mang tính liên tục, Ví dụ liệu âm thanh, thơng tin tần số cường độ có phần liên quan tới khoảng thời gian định 2.5 Seq2Seq Model: Kể từ kiến trúc mạng RNN, LSTM đời, công việc dịch thuật bước bước phát triển lớn Khi nói tới translate khơng thể khơng nhắc tới ơng lớn Google với đóng góp Google Translate Có thể nói Google Translate làm tốt cơng việc mảng dịch máy Một mơ hình quan trọng dịch máy Sequence-To-Sequence ( Seq2Seq ) Google sử dụng với kĩ thuật Attention  Cấu trúc mạng Trang 23 Đại học Công nghệ thông tin Truyền thông Việt Hàn – Đại học Đà Nẵng Thành phần seq2seq bao gồm phần Encoder Decoder Encoder đảm nhiệm công việc trích xuất thơng tin từ chuỗi đầu vào cung cấp cho Decoder Decoder thực trình sinh chuỗi từ thơng tin mà Encoder cung cấp Hình 26 Thành phần LSTM  Encoder Như ta biết LSTM khắc phục nhược điểm lưu trữ thơng tin câu có độ dài lớn Bằng việc xử lí thơng tin lưu trữ liệu vào cell state, LSTM đem thông tin từ câu khoảng cách xa Hình 27 LSTM Encoder Cơng việc lớp Encoder mã hố từ đầu vào chuỗi lớp RNN, LSTM nhằm đưa vector state cuối cùng, vector thông tin đầu vào cho lớp Decoder Tại lại sử dụng vector state cuối mà khơng phải tồn bộ? Lấy ví dụ đơn giản mạng RNN: X = “How are you?” x1 = How x2 = are x3 = you Cơng việc tính tốn state thực sau: S1 = ƒ( S0 , x1 ) S2 = ƒ( S1 , x2 ) =ƒ (ƒ ( S0 , x1 ) , x2 ) S3 = ƒ( S2 , x3 ) =ƒ( ƒ( ƒ( S0 , x1 ) , x2 ) , x3 ) Có thể thấy S3 Trang 24 Đại học Công nghệ thông tin Truyền thông Việt Hàn – Đại học Đà Nẵng mang thông tin x1, x2, x3 theo, dễ thấy S3 đại diện cho tồn thơng tin câu How are you  Decoder Hình 28 LSTM Decoder Khi sử dụng LSTM, đầu Encoder vector trạng thái C (cell state) h (hidden state) vector sử dụng làm init_state cho lớp LSTM Decoder Decoder bắt tay vào tính tốn sinh chuỗi từ vector trạng thái gặp ký tự kết thúc câu Các từ sinh dựa thông tin từ sinh trước Cấu trúc Encoder-Decoder triển khai nhiều lớp RNN/LSTM lồng Hình 29 RNN/LSTM lồng Trang 25 Đại học Công nghệ thông tin Truyền thông Việt Hàn – Đại học Đà Nẵng 2.6 Beam Search – Thuật tốn tìm kiếm hỗ trợ Seq2Seq: Trong mơ hình Seq2Seq, bước Decode, vector đầu LSTM đưa qua hàm Softmax để tìm kiếm từ có xác suất xuất lớn Và từ vector đầu vào để dự đoán từ tiếp theo, liệu xác suất từ cao có ln tốt nhất?  Chọn những từ có xác suất lớn Thuật tốn Beam Search có tham số gọi beam width Tại bước dự đốn, thay chọn từ có xác suất lớn nhất, ta chọn beam width kết có xác suất cao Ví dụ cần dịch câu sau từ tiếng Pháp sang tiếng Anh: X = Ricardo visite l’ Afrique en septembre Chọn beam width = Ta có từ có xác suất lớn step 1: Y = {in, jane, september} Lúc này, xác suất từ xuất P(y | X) Đưa từ vào step tiếp tục chọn từ có xác suất lớn nhất: in => y = {September,…} jane => y = {is, visits,…} Chúng ta hồn tồn sử dụng mức threshold để lựa chọn từ có xác suất đạt chuẩn từ kia, khơng có từ thỏa mãn dừng việc xét nhánh từ Xác suất chuỗi từ lúc là: P(y | X, y)  Chọn những câu có xác suất lớn Cứ tiếp tục tính tốn xác suất kí tự EOS - hết câu xuất Lúc ta có xác suất Trang 26 Đại học Công nghệ thông tin Truyền thơng Việt Hàn – Đại học Đà Nẵng Hình 30 Cây xác suất Công việc lúc nhân tất xác suất chuỗi có điều kiện lại: P = P(y | X) P(y | X, y)… P(y | X, y…y) Câu kết câu có xác suất lớn Vì xác suất thường số nhỏ nên với câu có độ dài kết nhỏ nên người ta thường dùng tới Logarit để thuận tiện cho việc tính tốn Ta thấy việc sử dụng Beam Search có khả tăng độ xác, nhiên việc lưu lại thông tin xác suất chuỗi dài làm tăng thời gian training, tốn tài nguyên phần cứng Ta thấy việc sử dụng Deep Learning với chatbot ta cải thiện xác việc phản hồi chatbot cho với văn phong, ngữ pháp trình trả lời 2.7 Word embeddings Biểu diễn ngơn ngữ hay vector hóa từ thành phần quan trọng để giúp máy tính hiểu ngơn ngữ từ dạng văn sang dạng số Tức đưa văn dạng text vào không gian người ta gọi embedding space( không gian từ nhúng) Word embeddings (tập nhúng từ) phương pháp ánh xạ từ vào khơng gian số thực nhiều chiều có kích thước nhỏ nhiều so với kích thước từ điển Word embedding có model tiếng word2vec Glove Trang 27 Đại học Công nghệ thông tin Truyền thông Việt Hàn – Đại học Đà Nẵng 2.7.1 Word2vec Word2vec tạo năm 2013 kỹ sư google có tên Tomas Mikolov Về mặt toán học, thực chất Word2Vec việc ánh xạ từ từ tập từ vocabulary sang không gian vector, vector biểu diễn n số thực Mỗi từ ứng với vector cố định Sau q trình huấn luyện mơ hình thuật tốn backprobagation, trọng số vector từ cập nhật liên tục Từ đó, ta thực tính toán khoảng cách từ từ "gần" thường từ hay xuất văn cảnh, từ đồng nghĩa Hình 31 Mơ hình từ nhúng Word2vec có word vector skip-gram Continuous Bag-of-Words (Cbow) Trang 28 Đại học Công nghệ thông tin Truyền thông Việt Hàn – Đại học Đà Nẵng Hình 32 Mơ hình CBOW Skip-Ngram CBoW: Dự đoán từ dựa ngữ cảnh từ trước  Cho từ ngữ cảnh  Đốn xác suất từ đích Skip-gram: Dự đoán từ xung quanh cho từ  Cho từ đích  Đốn xác suất từ ngữ cảnh 2.7.2 Glove GloVe phương pháp để xây dựng vectơ từ (giới thiệu vào năm 2014), xây dựng dựa ma trận đồng xảy (Co-occurrence Matrix) GloVe dựa ý tưởng tính tỉ lệ xác xuất: P (k | i ) (1) P (k | j ) Với P(k|i) xác suất từ k xuất ngữ cảnh từ i, tương tự với P(k|j) Cơng thức tính P(k|i): P(k | j )  xik xik  (2) xi �m xim Xik : số lần xuất từ k ngữ cảnh từ i (và ngược lại) Xi : số lần xuất từ i ngữ cảnh tồn từ cịn lại ngoại trừ i Ý tưởng GloVe tính dựa độ tương tự ngữ nghĩa hai từ i, j xác định thông qua độ tương tự ngữ nghĩa từ k với từ i, j, từ k Trang 29 Đại học Công nghệ thông tin Truyền thông Việt Hàn – Đại học Đà Nẵng có tính xác định ngữ nghĩa tốt từ làm cho giá trị tính từ cơng thức (1) nằm khoảng [0 ,1] Ví dụ, từ i “table”, từ j “cat” từ k “chair” công thức (1) cho giá trị tiệm cận đến “chair” có nghĩa gần với “table” “cat”, trường hợp khác, ta thay từ k “ice cream” giá trị cơng thức (1) xấp xỉ “ice cream” chẳng lên quan tới “table” “cat” Dựa tầm quan trọng công thức (1) , GloVe khởi đầu việc tìm hàm F cho ánh xạ từ vec-tơ từ vùng không gian V sang giá trị tỉ lệ tính theo cơng thức (1) Việc tìm F khơng đơn giản, nhiên, sau nhiều bước đơn giản hóa tối ưu, ta đưa tốn hồi quy với việc tính hàm chi phí tối thiểu (minimum cost function) sau: ~ ~ J  �i , j 1 f ( X ij )(Wi W j  b j  b j  log X ij ) (3) V T Wi, Wj vector từ bi, bj bias tương ứng (được thêm vào bước đơn giản hóa tối ưu) xij: mục nhập tương ứng với cặp từ i,j ma trận đồng xảy Hàm f(x) gọi hàm trọng số (weighting function), thêm vào để giảm bớt ảnh hưởng cặp từ xuất thường xuyên, hàm thỏa mãn tính chất:  Có giới hạn Là hàm khơng giảm  Có giá trị nhỏ x lớn  Thực tế, có nhiều hàm số thỏa tính chất trên, ta lựa chọn hàm số sau: � ( x / xmax ) x  xmax � f ( x)  � �(4) � Với α=3/4 Việc thực tính hàm chi phí tối thiểu J để tìm vec-tơ từ thể thực nhiều cách, cách tiêu chuẩn sử dụng tìm cực tiểu hàm số theo thuật tốn Gradient Descent Trang 30 Đại học Công nghệ thông tin Truyền thông Việt Hàn – Đại học Đà Nẵng Chương 3: XÂY DỰNG ỨNG DỤNG CHATBOT 3.1 Kiến trúc ứng dụng Để tạo ứng dụng chatbot có sử dụng Deep Learning, NLP (Xử lý ngơn ngữ tự nhiên), RNN (Mạng nơ-ron tái phát), LSTM (Bộ nhớ dài hạn) cuối sử dụng kiến trúc mô hình seq2seq để triển khai chatbot Dưới kiến trúc ứng dụng chatbot Hình 33 Kiến trúc ứng dụng chatbot Và để triển khai công nghệ chúng tơi sử dụng khung là: Python3, Anaconda, Tensorflow-gpu Cùng với tập liệu (dataset) movie_lines movie_conversations 3.2 Quá trình xây dựng 3.2.1 Tiền xử lý dữ liệu: Giai đoạn bao gồm nhập thư viện cần thiết, nhập tập liệu tiền xử lý liệu cho giai đoạn đào tạo Các bước thực trình tiền xử lý liệu: Trang 31 Đại học Công nghệ thông tin Truyền thông Việt Hàn – Đại học Đà Nẵng  Tạo từ điển ánh xạ với dòng mã định danh  Tạo danh sách tất hội thoại  Lấy câu hỏi câu trả lời riêng biệt  Làm câu hỏi câu trả lời  Lọc câu hỏi, câu trả lời ngắn dài  Tạo từ điển ánh xạ với từ xuất  Tạo hai từ điển ánh xạ từ câu hỏi câu trả lời cho số nguyên  Thêm mã thông báo (token) cuối vào hai từ điển  Tạo thêm nghịch đảo từ điển câu trả lời  Thêm mã thông báo vào cuối câu trả lời  Dịch tất câu hỏi câu trả lời thành số nguyên thay tất từ lọc mã thông báo  Sắp xếp câu hỏi câu trả lời theo độ dài câu hỏi Mục đích thêm mã thơng báo (token) giúp chuyển đổi độ dài phần tử chuỗi thành chuỗi có độ dài cố định Các phần tử đệm đặc biệt mà sử dụng: : sử dụng cho chuỗi bổ sung : bắt đầu chuỗi (Start of string) sử dụng để làm đầu vào thời gian giải mã : kết thúc câu (End of sentence) sử dụng để báo hiệu giải mã ngừng tạo chuỗi Nó sử dụng để phân tách câu hỏi lịch sử hội thoại (ngữ cảnh) dành cho câu hỏi đầu vào : từ không tồn từ điển, thay mã thơng báo 3.2.2 Xây dựng mô hình Seq2Seq Giai đoạn xây dựng mơ hình seq2seq để triển khai chatbot Các công nghệ sử dụng giai đoạn bao gồm: Mạng thần kinh tái phát (RNN) Bộ nhớ dài hạn (LSTM) Mơ hình Seq2Seq Trang 32 Đại học Công nghệ thông tin Truyền thông Việt Hàn – Đại học Đà Nẵng Thuật tốn tìm kiếm chùm (Beam Search) Các bước thực trình  Tạo trình giữ chỗ cho đầu vào mục tiêu  Tiền xử lý mục tiêu  Tạo lớp RNN mã hóa  Giải mã tập đào tạo  Giải mã kiểm tra xác nhận  Tạo lớp RNN giải mã  Xây dựng mơ hình Seq2Seq 3.2.3 Đào tạo mô hình Seq2Seq Giai đoạn đào tạo mơ hình Seq2Seq xây dựng trước Các khái niệm sử dụng giai đoạn này: Siêu tham số (Hyperparameter): tính toán đầu cho output Thuật toán tối ưu hóa ADAM Q trình huấn luyện:  Xác định siêu tham số (Hyperparameters)  Xác định phiên  Tải mô hình đầu vào  Đặt độ dài chuỗi  Lấy hình dạng tensor đầu vào  Nhận dự đốn đào tạo kiểm tra  Thiết lập lỗi thất (Loss Error), tối ưu hóa (Rhe Optimizer) Cắt đường dốc (Gradient Clipping)  Đệm vào chuỗi mã thông báo (token) “”  Chia liệu thành loạt câu hỏi câu trả lời  Chia câu hỏi câu trả lời thành tập huấn luyện xác nhận  Đào tạo Trang 33 Đại học Công nghệ thông tin Truyền thông Việt Hàn – Đại học Đà Nẵng 3.2.4 Thử nghiệm mô hình Seq2Seq Giai đoạn thiết lập cho chatbot hoạt động dựa tập liệu (dataset) huấn luyện trước Các bước thực hiện:  Tải liệu đào tạo trước chạy phiên  Chuyển đổi câu hỏi sang số nguyên mã hóa  Bắt đầu trị chuyện 3.3 Kết đạt Dưới hình ảnh kết đạt dự án: Hình 34 Quá trình huấn luyện Qúa trình huấn luyện dựa siêu tham số (Hyperparameters) Có thể thấy thời gian đào tạo cho lô (batch) giao động khoảng giây sử dụng Tensorflow-GPU Hình 35 Tương tác trị chuyện với chatbot Trang 34 Đại học Công nghệ thông tin Truyền thông Việt Hàn – Đại học Đà Nẵng Để trực quan hoá liệu từ nhúng (Word embedding) dự án có sử dụng TensorBoard để phục vụ cho trình trực quan Hình 36 Trực quan từ nhúng với TensorBoard Tránh nhàm chán với việc chat với hình console Ứng dụng tích hợp thêm web để có giao diện trực quan Ở giao diện web, ngồi trị chuyện chat thơng thường bàn phím cịn có trể trị chuyện micro (Speech to text) Chatbot phản hồi lại tiếng (Text to Speech) Hình 37 Giao diện web Trang 35 Đại học Công nghệ thông tin Truyền thông Việt Hàn – Đại học Đà Nẵng KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết luận: Với tiện lợi tối ưu Deep learning với xử lý ngôn ngữ tự nhiên tạo ứng dụng chatbot có khả trị chuyện tương tác với số ngữ cảnh định khơng dựa kịch có sẵn Tuy nhiên, khả tương tác với chatbot mức độ kém có câu trả lời sai với ngữ cảnh sai với ý người hỏi (người sử dụng) Ngoài khả huấn luyện chatbot diễn lâu Và bất tiện lớn chatbot có khả tương tác tiếng Anh Bên cạnh giao diện web cịn đơn giản, cần nâng cấp thêm giao diện web Hướng phát triển: Cải tiến thuật tốn, kết hợp nhiều mơ hình khác để đem lại độ xác thời gian đào tạo Sử dụng liệu khác lớn để đem lại kết xác Ngồi thử nghiệm siêu tham số (Hyperparameter) kết tốt Trang 36 Đại học Công nghệ thông tin Truyền thông Việt Hàn – Đại học Đà Nẵng DANH MỤC THAM KHẢO Aditya Kumar - Chatbot Development using Deep Learning & NLP implementing Seq2Seq Model Yun-Nung (Vivian) Chen, Asli Celikyilmaz and Dilek Hakkani-Tur, 2018 :” Deep Learning for Dialogue Systems” Tom Bocklisch , 2018: “Conversational AI with Rasa NLU & Rasa Core” Conversational AI Chatbot using Deep Learning: How Bi-directional LSTM, Machine Reading Comprehension, Transfer Learning, Sequence to Sequence Model with multi-headed attention mechanism, Generative Adversarial Network, Self Learning based Sentiment Analysis and Deep Reinforcement Learning can help in Dialog Management for Conversational AI chatbot Daniel Jurafsky & James H Martin, 23 September 2018: “Dialog Systems and Chatbots” DENNY BRITZ, 2015, “Recurrent Neural Networks Tutorial” Colah’s blog, August 27, 2015, “Understanding LSTM Networks” Van Deemter, Krahmer, Emiel; Theune, 1999 “Plan-based vs template-based NLG” Ondrej Plátek, Petr Belohlávek, Vojtech Hudecek, and Filip Jurcícek, 2016 “Recurrent Neural Networks for Dialogue State Tracking” 10 Pei-Hao Su, Nikola Mrksic, Inigo Casanueva, Ivan Vulic, 2018 “Deep Learning for Conversational AI” 11 Dhruvil Shah - Generative chatbots using the seq2seq model! 12 Anjana Tiha - Intelligent Chatbot using Deep Learning 13 Savia Lobo - Build a generative chatbot using recurrent neural networks (LSTM RNNs) Trang 37

Ngày đăng: 20/04/2021, 22:27

Từ khóa liên quan

Mục lục

  • Chương 1:

  • TỔNG QUAN VỀ HỆ THỐNG CHATBOT

    • 1.1 Chatbot là gì ?

    • 1.2 Cấu trúc các thành phần của Chatbot:

    • 1.3 Hiểu ngôn ngữ tự nhiên (NLU):

      • 1.3.1 Xác định ý định người dùng

    • 1.4 Quản lý hội thoại (DM)

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

      • 1.4.2 Mô hình Frame-based

    • 1.5 Thành phần sinh ngôn ngữ (NLG)

      • 1.5.1 Template-based NLG

      • 1.5.2 Plan-based NLG

      • 1.5.3 Class-based NLG

  • Chương 2:

  • CƠ SỞ LÝ THUYẾT

    • 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 Long Short-Term Memory:

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

      • 2.3.2 Cấu trúc mạng

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

    • 2.4 Giới thiệu về mô hình Sequence:

    • 2.5 Seq2Seq Model:

    • 2.6 Beam Search – Thuật toán tìm kiếm hỗ trợ Seq2Seq:

    • 2.7 Word embeddings

      • 2.7.1 Word2vec

      • 2.7.2 Glove

  • Chương 3:

  • XÂY DỰNG ỨNG DỤNG CHATBOT

    • 3.1 Kiến trúc ứng dụng

    • 3.2 Quá trình xây dựng

      • 3.2.1 Tiền xử lý dữ liệu:

      • 3.2.2 Xây dựng mô hình Seq2Seq

      • 3.2.3 Đào tạo mô hình Seq2Seq

      • 3.2.4 Thử nghiệm mô hình Seq2Seq

    • 3.3 Kết quả đạt được

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

    • 1 Kết luận:

    • 2 Hướng phát triển:

  • DANH MỤC THAM KHẢO

Tài liệu cùng người dùng

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

Tài liệu liên quan