intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Luận văn Thạc sĩ Hệ thống thông tin: Phát triển ứng dụng hội thoại thông minh tư vấn trong lĩnh vực xuất nhập khẩu

Chia sẻ: Matroinho | Ngày: | Loại File: PDF | Số trang:56

12
lượt xem
6
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Đề tài "Phát triển ứng dụng hội thoại thông minh tư vấn trong lĩnh vực xuất nhập khẩu" nghiên cứu xây dựng một mô hình hội thoại cho tiếng Việt tư vấn trong lĩnh vực xuất nhập khẩu. Mô hình hội thoại mà Tôi đề xuất là kết hợp giữa mạng nơ-ron LSTM và phương pháp tìm câu trả lời trong các tài liệu dựa trên kỹ thuật term frequency – inverse document frequency (TF-IDF). Mô hình đã cho kết quả rất tính cực, có thể giải quyết được những vấn đề cơ bản về ngữ nghĩa, ngữ cảnh và tính cách riêng trong hệ thống đối thoại.

Chủ đề:
Lưu

Nội dung Text: Luận văn Thạc sĩ Hệ thống thông tin: Phát triển ứng dụng hội thoại thông minh tư vấn trong lĩnh vực xuất nhập khẩu

  1. UBND TỈNH BÌNH DƯƠNG TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT HOÀNG TRỌNG NGHĨA PHÁT TRIỂN ỨNG DỤNG HỘI THOẠI THÔNG MINH TƯ VẤN TRONG LĨNH VỰC XUẤT NHẬP KHẨU LUẬN VĂN THẠC SĨ CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN MÃ SỐ: 8480104 BÌNH DƯƠNG – 2019
  2. UBND TỈNH BÌNH DƯƠNG TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT HOÀNG TRỌNG NGHĨA PHÁT TRIỂN ỨNG DỤNG HỘI THOẠI THÔNG MINH TƯ VẤN TRONG LĨNH VỰC XUẤT NHẬP KHẨU LUẬN VĂN THẠC SĨ CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN MÃ SỐ: 8480104 NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS. TS. QUẢN THÀNH THƠ BÌNH DƯƠNG – 2018
  3. Lời cam đoan Tôi xin cam đoan rằng, luận văn "Phát triển ứng dụng hội thoại thông minh tư vấn trong lĩnh vực xuât nhập khẩu" là công trình nghiên cứu của tôi dưới sự hướng dẫn của thầy PGS.TS. Quản Thành Thơ, xuất phát từ nhu cầu thực tiễn và nguyện vọng tìm hiểu của bản thân. Ngoại trừ kết quả tham khảo từ các công trình khác đã ghi rõ trong luận văn, các nội dung trình bày trong luận văn này là kết quả nghiên cứu do chính Tôi thực hiện và kết quả của luận văn chưa từng công bố trước đây dưới bất kỳ hình thức nào. Bình Dương, tháng 02 năm 2019 Tác giả Hoàng Trọng Nghĩa
  4. Lời cảm ơn Qua thời gian học tập và rèn luyện tại trường Đại học Thủ Dầu Một, được sự chỉ bảo và giảng dạy nhiệt tình của quý thầy cô, đặc biệt là quý thầy cô khoa Khoa Kỹ thuật - Công nghệ đã truyền đạt cho tôi những kiến thức về lý thuyết và thực hành trong suốt thời gian học ở trường. Cùng với sự nỗ lực của bản thân, tôi đã hoàn thành luận văn của mình. Từ những kết quả đạt được này, tôi xin chân thành cám ơn quý thầy cô trường Đại học Thủ Dầu Một, đã truyền đạt cho tôi những kiến thức bổ ích trong thời gian qua. Đặc biệt xin chân thành cảm ơn thầy giáo, PGS.TS. Quản Thành Thơ, người đã định hướng, giúp đỡ, trực tiếp hướng dẫn và tận tình chỉ bảo tôi trong suốt quá trình nghiên cứu, xây dựng và hoàn thiện luận văn này. Tôi rất mong nhận được sự đóng góp ý kiến của quý thầy cô để báo cáo luận văn đạt được kết quả tốt nhất. Tôi xin kính chúc quý thầy cô và các bạn thật nhiều sức khỏe, niềm vui và luôn thành công trong công việc và cuộc sống.
  5. MỤC LỤC DANH SÁCH HÌNH VẼ ................................................................................................. 1 DANH SÁCH CÁC TỪ VIẾT TẮT ................................................................................ 2 GIỚI THIỆU CHUNG ..................................................................................................... 3 1. Động lực nghiên cứu ................................................................................................. 3 2. Mục tiêu của luận văn ............................................................................................... 3 3. Cấu trúc của luận văn ................................................................................................ 3 CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN ..................................................................... 5 1.1. Hệ thống hội thoại thông minh. ............................................................................. 5 1.2. Tình hình nghiên cứu ............................................................................................. 6 1.3. Phân loại các mô hình chatbot ............................................................................... 7 1.4. Các vấn đề cần giải quyết ...................................................................................... 7 CHƯƠNG 2: CÁC LÝ THUYẾT LIÊN QUAN ............................................................. 9 2. 1. Kiến trúc mạng Neural nhân tạo (Artificial Neural Network - ANN) ................... 9 2. 1. 1 Kiến trúc mạng Neural nhân tạo ......................................................................... 9 2. 1. 2 Cơ sở toán học .................................................................................................. 10 2. 1. 3 Các hàm kích hoạt thường dùng ....................................................................... 12 2. 1. 4 Hàm chi phí mất mát ........................................................................................ 14 2. 1. 5 Các kĩ thuật xử lý với mạng nơ-ron.................................................................. 15 2. 2. Recurrent Neural Network - RNN ....................................................................... 17 2. 3. Long Short Term Memory (LSTM) ..................................................................... 19 2. 4. Bidirectional LSTM (BiLSTM) ........................................................................... 23 2. 5. Word Embedding (hay Word Vector).................................................................. 23 2. 6. Term Frequency-Inverse Document Frequency TFIDF ...................................... 27 CHƯƠNG 3: MÔ HÌNH HỘI THOẠI ĐỀ XUẤT ........................................................ 29 3. 1 Kiến trúc tổng quát hệ thống hội thoại thông minh ............................................. 29 3. 2 Giải thích các mô hình ......................................................................................... 30 3. 2. 1. Mô hình xác định ý định người dùng ............................................................... 30 3. 2. 2. Mô hình Dialog action ...................................................................................... 32 3. 2. 3. Mô hình xác định các thực thể (Named Entity Recognition) ........................... 33 3. 2. 4. Mô hình trích xuất chọn thông tin theo ngữ nghĩa ........................................... 36
  6. 3. 2. 5. Quản lý hội thoại .............................................................................................. 38 CHƯƠNG 4: XÂY DỰNG VÀ ĐÁNH GIÁ MÔ HÌNH .............................................. 40 4. 1 Xây dựng dữ liệu và huấn luyện cho mô hình word2vec .................................... 40 4. 2 Dữ liệu và huấn luyện cho mô hình Intents model .............................................. 40 4. 3 Dữ liệu và huấn luyện cho mô hình Dialogue model .......................................... 41 4. 4 Dữ liệu và huấn luyện cho mô hình Named Entity Regcognition ....................... 42 4. 5 Thử nghiệm ứng dụng hội thoại thông minh ....................................................... 43 KẾT LUẬN .................................................................................................................... 47 CÔNG NGHỆ SỬ DỤNG ............................................................................................. 48
  7. DANH SÁCH HÌNH VẼ Hình 1: Mạng nơ-ron nhân tạo với 2 lớp ẩn.................................................................... 9 Hình 2: Xử lý thông tin trong mạng neuron .................................................................. 12 Hình 3: Xử lý thông tin của một ANN .......................................................................... 14 Hình 4: Hình mô tả kỹ thuật Early Stopping ................................................................ 16 Hình 5: Minh họa kỹ thuật dropout. Nửa bên trái là mạng nơ-ron đầy đủ còn bên phải là sau khi áp dụng dropout ............................................................................................. 17 Hình 6: Mạng Recurrent Neural Network ..................................................................... 18 Hình 7: Quá trình xử lý của mạng Recurrent Neural Network ..................................... 18 Hình 8: Mô hình 1 cel của RNN chuẩn (nguồn từ https://medium.com) ..................... 19 Hình 9: Mô hình LSTM có 4 lớp tương tác với nhau trong 1 bước thời gian .............. 20 Hình 10: Trạng thái nhớ của LSTM chạy xuyên suốt ...................................................... 20 Hình 11: Cổng trạng thái LSTM ..................................................................................... 21 Hình 12: Cổng forget trong mạng LSTM ..................................................................... 21 Hình 13: Cổng input trong mạng LSTM ....................................................................... 22 Hình 14: Cổng candidate trong mạng LSTM................................................................ 22 Hình 15: Cổng output trong mạng LSTM ..................................................................... 23 Hình 16: BiLSTM là sự kết hợp của forward LSTM và backward LSTM .................. 23 Hình 17: Ví dụ về một dạng biểu diễn của vector từ .................................................... 24 Hình 18: Ví dụ biểu diễn word2vec .............................................................................. 24 Hình 19: Visualize các từ khi huấn luyện mô hình word2vec ...................................... 25 Hình 20: Từ trọng tâm và ngữ cảnh của nó .................................................................. 26 Hình 21: Quá trình huấn luyện bằng CBOW và Skip-gram ......................................... 27 Hình 22: Mô hình hội thoại đề xuất .............................................................................. 29 Hình 23: Huấn luyện, dự đoán các intents model ......................................................... 31 Hình 24: Dữ liệu huấn luyện cho mô hình “intents model”.......................................... 32 Hình 25: Mô hình dialogue action ................................................................................ 33 Hình 26: Mô hình “ner model” Bi-LSTM .................................................................... 36 Hình 27: Dữ liệu tính TF-IDF ....................................................................................... 37 Hình 28: Tính tf-idf của một sentence .......................................................................... 37 Hình 29: Tính độ tương tự giữa 2 câu trong không gian ............................................... 38 Hình 30: Kết quả tìm theo độ tương tự tf-idf và cosin .................................................. 38 Hình 31: Thiết kế dữ liệu huấn luyện mô hình Intents models ..................................... 41 Hình 32: Thiết kế dữ liệu huấn luyện mô hình Dialogue models ................................. 42 Hình 33: Thiết kế dữ liệu huấn luyện mô hình Ner models .......................................... 43 Hình 34: Kết quả chạy chương trình ............................................................................. 44 Hình 35: Kết quả chạy chương trình ............................................................................. 45 Hình 36: Kết quả chạy chương trình ............................................................................. 45 Hình 37: Kết quả chạy chương trình ............................................................................. 46 1
  8. DANH SÁCH CÁC TỪ VIẾT TẮT Từ viết tắt Từ chuẩn Tiếng việt AI Artificial Intelligence Trí tuệ nhân tạo ANN Artificial Neural Network Mạng nơ ron nhân tạo BiLSTM Bidirectional Long Short Term Mạng bộ nhớ dài ngắn đôi Memory CBOW Continuous Bag of Words CNN Convolutional Neural Network. Mạng neuron tích chập FC Fully-connected Kết nối đầy đủ MLP Multilayer Perceptron Đa lớp perceptron NLP Natural Language Processing Xử lý ngôn ngữ tự nhiên LSTM Long Short Term Memory Mạng bộ nhớ dài ngắn ReLU Rectified Linear Unit Đơn vị tuyến tính điều chỉnh RNN Recurrent Neural Network Mạng hồi quy 2
  9. GIỚI THIỆU CHUNG 1. Động lực nghiên cứu Hiện tại việc tiếp nhận, giải quyết và trả lời câu hỏi thắc mắc hoặc yêu cầu của người dùng như (Hệ thống hỏi đáp Q&A và giải quyết thắc mắc): của khách hàng trong hoạt động thương mại, của người dân trong thủ tục hành chính, của học sinh - sinh viên trong hoạt động đào tạo là rất lớn. Các hoạt động tiếp nhận câu hỏi và trả lời câu hỏi hiện nay đều là hoạt động mang tính thủ công mà chưa có công cụ nào trợ giúp. Việc tiếp nhận và xử lý còn chậm, thiếu chính xác và chưa công khai minh bạch. Các câu hỏi và yêu cầu của người dùng thì đi vào nhiều lĩnh vực và thuộc nhiều đối tượng trả lời khác nhau, việc lựa chọn đúng đối tượng trả lời gây khó khăn và hiểu nhầm cho người dùng dẫn đến các câu hỏi và yêu cầu thường không được trả lời thỏa đáng Trong những năm ngần đây, mô hình học sâu (Deep Learning) nổi lên như một phương pháp hiệu quả để giải quyết các bài toán thuộc các lĩnh vực nhận diện hình ảnh, nhận diện giọng nói, xử lý ngôn ngữ tự nhiên. Với sự ra đời của ngày càng nhiều các thiết bị có khả năng tính toán mạnh mẽ, cộng với lượng dữ liệu dồi dào, các mô hình Deep Learning hứa hẹn sẽ ngày càng phát triển, trở thành nhân tố chính cho cuộc cách mạng 4.0 ngày nay. Con người kết nối với con người thông qua mạng xã hội, bất cứ thời gian nào và ở bất cứ nơi đâu. Sẽ thật tốt hơn nếu có một hệ thống tự động thông minh hỗ trợ con người bằng cách trò chuyện, có khả năng nhắc nhở, làm trợ lý công việc và có thể theo dõi tình trạng sức khỏe cá nhân mọi lúc, mọi nơi. Như vậy, hệ thống trả lời tự động có những nhiệm vụ và vai trò quan trọng, có thể trợ giúp được con người rất nhiều trong rất nhiều lĩnh vực: y tế, giáo dục, thương mại điện tử, …, rất hiệu quả để nghiên cứu và đưa ra các sản phẩm phù hợp với thực tế. 2. Mục tiêu của luận văn Với cơ sở thực tiễn trênvà các kiến thức về machine learning và tham khảo từ các công trình liên quan trên thế giới, đề tài này nghiên cứu xây dựng một mô hình hội thoại cho tiếng Việt tư vấn trong lĩnh vực xuất nhập khẩu. Mô hình hội thoại mà Tôi đề xuất là kết hợp giữa mạng nơ-ron LSTM và phương pháp tìm câu trả lời trong các tài liệu dựa trên kỹ thuật term frequency – inverse document frequency (TF-IDF). Mô hình đã cho kết quả rất tính cực, có thể giải quyết được những vấn đề cơ bản về ngữ nghĩa, ngữ cảnh và tính cách riêng trong hệ thống đối thoại. 3. Cấu trúc của luận văn Để mô tả kết quả nghiên cứu, luận văn được chia thành 5 chương với các nội dụng như sau: CHƯƠNG 1: Tổng quan về hệ thống trả lời tự động; Giới thiệu tổng quan về hệ thống đối thoại người máy, nghiên cứu tổng quan về tình hình nghiên cứu trong và ngoài nước, phân loại các mô hình trả lời tự động 3
  10. CHƯƠNG 2: Cơ sở lý thuyết liên quan; Giới thiệu về cơ sở mạng nơ-ron nhân tạo, các mô hình mạng nơ-ron cải tiến là cơ sở của mạng học sâu; thuật toán tf.idf. CHƯƠNG 3: Mô hình hội thoại đề xuất; Xây dựng mô hình hội thoạt tư vấn trong lĩnh vực xuất nhập khẩu, giải thích cách xây dựng và cách hoạt động của từng mô hình nơ-ron để tích hợp thành ứng dụng hội thoại thông minh. CHƯƠNG 4: Thực nghiệm và đánh giá mô hình; Thực nghiệm mô hình đã xây dựng. Trình bày các công cụ, thư viện mã nguồn mở hỗ trợ trong việc tiền xử lý dữ liệu, cũng như trong quá trình huấn luyện mô hình đối thoại tiếng Việt. KẾT LUẬN: Phần này đưa ra các kết luận và đánh giá các hạn chế còn tồn tại và đưa ra hướng khắc phục TÀI LIỆU THAM KHẢO: Liệt kê danh sách các bài báo được sử dụng làm tham khảo, tham chiếu cho luận văn. 4
  11. CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN Bài toán xây dựng hệ thống hội thoại thông minh là một bài toán khó thuộc lĩnh vực xử lý ngôn ngữ tự nhiên. Chúng ta biết rằng ngôn ngữ tự nhiên vốn nhập nhằng, đa nghĩa, việc xác định được ngữ nghĩa của câu hỏi cũng như phát hiện ra câu trả lời là một thách thức không nhỏ. Không những vậy, giữa câu hỏi và câu trả lời còn tồn tại các quan hệ “ngầm” hay phụ thuộc vào ngữ cảnh. 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 tin hữu ích nhất. Chương này sẽ giới thiệu tổng quan về hệ thống trả lời tự động, tìm hiểu các nghiên cứu ở trong và ngoài nước để thấy được tình hình nghiên cứu và các phương pháp tiếp cận của các nghiên cứu trước đây. Từ đó đề tài đưa ra mô hình phù hợp cho bài toán xây dựng hội thoại thông minh tư vấn trong lĩnh vực xuất nhập khẩu. 1.1. Hệ thống hội thoại thông minh Các hệ thống hội thoại thông minh (Dialogue systems), còn được gọi là trợ lý tương tác hội thoại, trợ lý ảo và đôi khi được gọi với thuật ngữ là chatbot, được sử dụng rộng rãi trong 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ọc ngô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ướng mụ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ống khô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ật trò chơi máy tính. Trong luận văn này, chúng tôi tập trung vào trường hợp thứ nhất, là đi xây dựng một mô hình hội thoại cho tiếng Việt trong lĩnh vực xuất nhập khẩu. Phương pháp hướng dữ liệu qui mô lớn, trong đó sử dụng dữ liệu đã được ghi tự động để truy vấn tri thức và phát sinh văn bản, đang trở nên ngày càng quan trọng trong lời nói và sự hiểu biết ngôn ngữ và phát sinh ngôn ngữ tự nhiên. Một loạt các phương pháp học máy hướng dữ liệu đã được chứng minh là có hiệu quả bằng việc xử lý ngôn ngữ tự nhiên, bao gồm các công việc liên quan đối thoại như đối thoại chính sách học tập, theo dõi trạng thái đối thoại và phát sinh ngôn ngữ tự nhiên. Một trong những thách thức chính trong phát triển của hệ thống đối thoại người máy hướng nhiệm vụ, và trong việc mở rộng chúng trong nhiều miền ứng dụng, được nhắc đến trong, là sự sẵn có của dữ liệu trên một miền hội thoại cụ thể. Hệ thống đối thoại cần kết hợp và khai thác nhiều thành phần, ví dụ như nhận dạng giọng nói, hiểu ngôn ngữ tự nhiên, giám sát hội thoại, phát sinh ngôn ngữ tự nhiên, và mỗi thành phần này yêu cầu sẵn có nguồn dữ liệu trên miền cụ thể, tài nguyên và các mô hình. Bao gồm các mô hình ngôn ngữ, mô hình ngữ âm, mô hình hiểu ngôn ngữ, các miền bản thể ontology, các kịch bản tương tác, các khuôn mẫu phát sinh ngôn ngữ, … Mặc dù, nhiều vấn đề AI đã được hưởng lợi ích từ các nguồn dữ liệu ngày càng lớn, thu thập dữ liệu end-to-end cho các hệ thống đối thoại hướng nhiệm vụ vẫn còn là một vấn đề khó khăn. Phương pháp tiếp cận hiện tại để thu thập dữ liệu thoại dẫn đến chi phí phát triển cao và tiêu tốn thời gian cho các nhà phát triển hệ thống. Trừ khi các nguồn lực bên ngoài đã có sẵn (không phải trường hợp cho hầu hết các lĩnh vực), trong miền tập dữ liệu yêu cầu phải có một hệ thống triển khai có khả năng duy trì một cuộc 5
  12. đối thoại với người dùng. Điều này dẫn đến một vấn đề khởi động: do thiếu dữ liệu để huấn luyện hệ thống ban đầu, các nhà phát triển hệ thống mang gánh nặng về việc phát triển văn phạm và các mô hình ngôn ngữ, hoặc là thủ công. Thu thập dữ liệu hội thoại với phiên bản đầu tiên của một hệ thống được triển khai có thiếu sót: chất lượng dữ liệu thu thập có thể phải chịu những bất cập của hệ thống chính nó, và người dùng có thể chịu ảnh hưởng ngôn ngữ của chúng để điều chỉnh cho những khuyết điểm của hệ thống trong việc theo hết một cuộc đối thoại. Kết quả là, tốc độ của tập dữ liệu có thể chậm hơn so với mong muốn. Cuối cùng, quá trình phát triển tốn kém này phải được lặp đi lặp lại trên một lần nữa cho mỗi miền hoặc hệ thống mới, hoặc ngay cả khi chức năng mới được thêm vào. 1.2. Tình hình nghiên cứu Hệ thống trả lời tự động đã được các nhà nghiên cứu quan tâm từ rất lâu rồi, bao gồm các trường đại học, các viện nghiên cứu và các doanh nghiệp. Trong quá trình nghiên cứu, tôi đã tham khảo một số mô hình trả lời bán hàng nổi tiếng trên thế giới cũng như ở Việt Nam. Theo ý tưởng của Russel và cộng sự, thì một hệ thống AI phải được kiểm tra (hành động dưới sự ràng buộc hình thức và phù hợp với các điều kiện kỹ thuật); phải được xác nhận (không theo đuổi các hành vi không mong muốn dưới sự ràng buộc trước); phải an toàn (ngăn chặn các thao tác có chủ ý của các bên thứ ba, hoặc bên ngoài hoặc bên trong); và phải được kiểm soát (con người cần phải có cách để thiết lập lại kiểm soát nếu cần thiết). Việc thiết kế hệ thống đối thoại là một nhiệm vụ đầy thách thức và là một trong những mục tiêu ban đầu của trí tuệ nhân tạo. Trong nhiều thập kỷ, việc thiết kế tác nhân đối thoại đã giúp các hệ thống dựa trên cơ sở tri thức và cơ chế dựa trên luật Rule-based để hiểu các thông điệp đầu vào của con người và tạo ra các phản hồi đáp ứng hợp lý. Phương pháp tiếp cận hướng dữ liệu nhấn mạnh vào việc học trực tiếp từ các tập ngữ liệu của các cuộc đối thoại tiếng nói hoặc văn bản chữ viết. Gần đây, phương pháp này đã đạt được đà vì lợi thế dữ liệu phong phú, tăng sức mạnh tính toán, và các thuật toán học tốt hơn mà tự động hóa quá trình tính năng kỹ thuật. Ritter và cộng sự đã đề xuất phương pháp tiếp cận hướng dữ liệu cho việc xây dựng hệ thống đối thoại, và họ đã trích xuất ra 1,3 triệu cuộc hội thoại từ Twitter với mục đích là phát hiện ra các hành động trong cuộc hội thoại. Bằng việc xây dựng dựa trên sự tương đồng về phân phối trong khuôn khổ mô hình không gian vector, Banchs và Li đã xây dựng một công cụ tìm kiếm để lấy câu trả lời thích hợp cho bất kỳ một thông điệp đầu vào. Với sự ra đời của framework sequence-to-sequence, nhiều hệ thống huấn luyện gần đây đã sử dụng các mạng nơ-ron tái phát (RNN) để sinh ra các câu trả lời mới khi đưa vào mạng một câu hỏi hoặc một thông điệp. Ví dụ, Lê Viết Quốc và Vinyals đã đề xuất sử dụng tập dữ liệu là lịch sử hỗ trợ kỹ thuật IThelp desk để huấn luyện mạng LSTM để sinh ra câu trả lời mới. Sordoni và cộng sự đã xây dựng các cuộc đối thoại Twitter giới hạn bối cảnh lịch sử đến một thông điệp. Với sự giúp đỡ của các mô hình ngôn ngữ được tiền huấn luyện, chúng mã hóa mỗi tin nhắn vào một vector đại diện. 6
  13. Để loại bỏ sự cần thiết cho một mô hình ngôn ngữ, Serban và cộng sự đã thử huấn luyện end-toend trên một mạng RNN. Họ cũng bắt đầu hệ thống của mình với các word embeddings đã được huấn luyện từ trước. Trong khi các hệ thống này có thể sản xuất ra các câu trả lời mới lạ, rất khó để hiểu được bao nhiêu khả năng được sử dụng bởi các mô hình ngôn ngữ tự nhiên so với việc mô hình hóa hội thoại đối thoại liền nhau. 1.3. Phân loại các mô hình chatbot 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 và Reddit 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. Phân loại theo hướng tiếp cận Tiếp cận dựa vào trích chọn thông tin (Retrieval-based): Các kỹ thuật thường sử dụng một kho đã định nghĩa trước các câu trả lời kết hợp với một vài phương pháp trích chọn Heuristic để nhặt ra một đáp án thích hợp nhất dự vào mẫu hỏi input và ngữ cảnh. Kỹ thuật heuristic sử dụng ở đây đơn giản có thể là sự so khớp các biểu thức dựa vào luật (rule-based), hoặc phức tạp như việc kết hợp học máy (Machine Learning) để phân lớp các câu hỏi và đáp án trả về. Những hệ thống kiểu này không sinh ra văn bản mới, chúng chỉ nhặt một đáp án từ một tập dữ liệu cố định sẵn có. Tiếp cận dựa vào mô hình có thể sinh sản (Generative-based): Mô hình này không dựa trên tập trả lời định nghĩa trước. Chúng có khả năng tự sản sinh các đáp án từ đầu. Các mô hình có thể sinh sản thường dựa vào các kỹ thuật Máy Dịch (Machine Translation), nhưng thay vì dịch từ ngôn ngữ này sang ngôn ngữ khác, thì nó có thể “dịch” từ một input sang một output. 1.4. Các vấn đề cần giải quyết Thứ nhất, vấn đề phát sinh những câu hỏi nằm ngoài “tập dữ liệu mẫu”, mô hình sẽ không trả lời, hoặc trả lời những câu mẫu được định nghĩa sẵn cho những trường hợp này. 7
  14. Thứ hai, vấn đề xây dựng một mô hình hội thoại phải có thể hiểu được ngôn ngữ tiếng Việt. Thứ ba, vấn đề câu hỏi dài và phức tạp, các mô hình hiện tại đều gặp vấn đề này. Ở chatbot thương mại đang dừng lại mô hình đưa ra gợi ý ngắn gọn cho người mua hàng lựa chọn, những đoạn đối thoại sinh ra thường ngắn. Thứ tư, vấn đề dữ liệu sử dụng để huấn luyện, hầu hết các mô hình hội thoại thông minh phải cần cặp dữ liệu câu hỏi/ trả lời để huấn luyện máy. Cuối cùng là vấn đề “tự động”: là vấn đề mấu chốt của luận văn, không chỉ dừng lại ở mức độ tự động trả lời với những câu hỏi – câu trả lời có sẵn trong cơ sở dữ liệu, mà mô hình cần tự động trong quá trình “phân tích” câu hỏi, quá trình tìm câu trả lời nằm ngoài dữ liệu có sẵn. Nói cách khác, mô hình có thể “suy nghĩ” và “tư vấn” như một con người, thay thế sự xuất hiện của người bán hàng trong pha tư vấn. Rõ ràng, chúng ta cần phương pháp sử dụng Machine Learning để cho máy tínhngoài việc học một lượng lớn dữ liệu mà còn có thể tìm câu trả lời ngoài các câu đã được học, tạo nên một bộ “tri thức” và ứng dụng trong quá trình phân tích và sinh câu trả lời, thì những vấn đề nêu trên có thể được giải quyết. 8
  15. CHƯƠNG 2: CÁC LÝ THUYẾT LIÊN QUAN 2. 1. Kiến trúc mạng Neural nhân tạo (Artificial Neural Network - ANN) Mạng nơ-ron nhân tạo hay thường được gọi ngắn gọn là mạng nơ-ronđược giới thiệu năm 1943 bởi Warren McCulloch và Walter Pits là một mô hình xử lý thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật, bao gồm số lượng lớn các Neuron được gắn kết để xử lý thông tin. ANN giống như bộ não con người, được học bởi kinh nghiệm (thông qua huấn luyện), có khả năng lưu giữ những kinh nghiệm hiểu biết (tri thức) và sử dụng những tri thức đó trong việc dự đoán các dữ liệu chưa biết (unseen data). Trong mạng nơ-ron nhân tạo, mỗi nơ-ron là một đơn vị tính toán có đầu vào và đầu ra là các đại lượng vô hướng. Mỗi đầu vào có một trọng số tương ứng với nó. Nơ-ron nhân mỗi đầu vào của nó với trọng số tương ứng, cộng tất cả đầu vào lại, áp dụng một hàm phi tuyến tính để cho ra kết quả ở đầu ra. Các nơ-ron được kết nối với nhau, thành lập một mạng lưới: đầu ra của nơ-ron này có thể được truyền cho đầu vào của một hay nhiều nơ-ron khác. Nếu các trọng số được thiết lập chính xác, một mạng nơ-ron có thể tính toán xấp xỉ nhiều hàm toán học phức tạp. Một mạng nơ-ron là một nhóm các nút nối với nhau, mô phỏng mạng nơ-ron thần kinh của não người. Mạng nơ ron nhân tạo được thể hiện thông qua ba thành phần cơ bản: mô hình của nơ ron, cấu trúc và sự liên kết giữa các nơ ron. 2. 1. 1 Kiến trúc mạng Neural nhân tạo Hình 1: Mạng nơ-ron nhân tạo với 2 lớp ẩn (https://machinelearningmastery.com) 9
  16. Kiến trúc chung của một ANN gồm 3 thành phần đó là đầu vào (input layer), tầng ẩn (hidden layer) và đầu ra (output layer). Trong hình 1, minh họa một mạng nơ- ron cơ bản với 2 tầng ẩn. Mỗi vòng tròn là một nơ-ron, các mũi tên đi vào là các đầu vào và các mũi tên đi ra là các kết quả đầu ra của nơ-ron đó. Các nơ-ron được sắp xếp thành các tầng, biểu diễn luồng thông tin đi qua mạng. Tầng dưới cùng không có bất kỳ mũi tên đi vào, và là đầu vào của mạng. Tương tự, tầng trên cùng không có bất kỳ mũi tên đi ra, và là đầu ra của mạng. Các tầng khác được gọi là tầng "ẩn". Ký hiệu ∫ bên trong các nơ-ron biểu diễn hàm phi tuyến tính (hàm kích hoạt) sigmoid = (1/(1 + e−x)) được áp dụng vào giá trị của nơ-ron trước khi cho ra đầu ra. Mỗi nơ-ron đều kết nối tới tất cả các nơ-ron ở tầng tiếp theo - vì vậy nên được gọi là tầng "kết nối đầy đủ". 2. 1. 2 Cơ sở toán học Mạng nơ-ron đơn giản nhất là perceptron, chỉ bao gồm một hàm tuyến tính của đầu vào: 𝑁𝑁𝑃𝑒𝑟𝑐𝑒𝑝𝑡𝑟𝑜𝑛 (𝑥) = 𝑥𝑊 + 𝑏 𝑥 ∈ 𝑅𝑑𝑖𝑛 , 𝑊 ∈ 𝑅 𝑑𝑖𝑛×𝑑𝑜𝑢𝑡 , 𝑏 ∈ 𝑅𝑑𝑜𝑢𝑡 W là ma trận trọng số, và b là bias. Để loại bỏ tính chất tuyến tính, một tầng "ẩn" phi tuyến tính được tạo ra đó gọi là Multi Layer Perceptron (MLP) (trong hình 1 có 2 tầng như vậy). Một mạng nơ-ron một tầng có dạng: 𝑁𝑁𝑀𝐿𝑃1 = 𝑔(𝑥𝑊 1 + 𝑏1 )𝑊 2 + 𝑏2 𝑥 ∈ 𝑅𝑑𝑖𝑛 , 𝑊 1 ∈ 𝑅 𝑑𝑖𝑛×𝑑1 , ∈ 𝑅 𝑑𝑜𝑢𝑡 Trong công thức trên, xW1 + b1 thể hiện sự biến đổi tuyến tính từ đầu vào x từ không gian din chiều sang không gian d1 chiều. g được áp dụng trên mỗi chiều trong d1 chiều và ma trận W2 cùng với bias b2 được sử dụng để biến đổi kết quả thành vector có d2 chiều. Hàm phi tuyến tính g có vai trò hết sức quan trọng trong mạng để biểu diễn những hàm phức tạp. Nếu không có hàm g, mạng nơ-ron chỉ có thể biểu diễn sự biến đổi tuyến tính của đầu vào. Chúng ta cũng có thể kết hợp giữa biến đổi tuyến tính và biến đổi phi tuyến tính, kết quả là một MLP 2 tầng (mạng ở hình 1 thuộc dạng này): 𝑁𝑁𝑀𝐿𝑃2 = (𝑔2 (𝑔1 (𝑥𝑊 1 + 𝑏1 )𝑊 2 + 𝑏2 ))𝑊 3 Công thức trên có thể được viết lại rõ ràng hơn bằng cách sử dụng các biến trung gian: 𝑁𝑁𝑀𝐿𝑃2 = 𝑦 ℎ1 = 𝑔1 (𝑥𝑊 1 + 𝑏1 ) ℎ2 = 𝑔2 (ℎ1 𝑊 2 + 𝑏2 ) 𝑦 = ℎ2 𝑊 3 Các vector có được từ kết quả của các phép biến đổi tuyến tính được gọi là một tầng. Kết quả của phép biến đổi ở ngoài cùng được gọi là tầng đầu ra và kết quả của các phép biến đổi còn lại được gọi là tầng "ẩn" (hidden). Mỗi tầng "ẩn" đều có một 10
  17. activation phi tuyến tính theo sau. Trong một số trường hợp, ví dụ như tầng cuối cùng của mạng ở hình 1, vector bias bị gán bằng 0. Các tầng có được từ kết quả của phép biến đổi tuyến tính còn được gọi là kết nối đầy đủ (fully-connected) hoặc affine. Khi mô tả một mạng nơ-ron phải nêu rõ chiều của các tầng lẫn đầu vào của nó. Một tầng luôn nhận một vector din chiều làm đầu vào, và biến đổi nó thành vector có dout chiều. Chiều của một tầng được quy ước bằng với chiều đầu ra của tầng đó. Với một tầng kết nối đẩy đủ l(x) = xW + b với đầu vào và đầu ra có chiều lần lượt là din và dout thì chiều của x là 1 × din, của W là din × dout và của b là 1 × dout. Đầu ra của mạng nơ-ron là một vector có dout chiều. Trong trường hợp dout = 1, đầu ra của mạng là một đại lượng vô hướng. Những mạng như thế thường được dùng để hồi quy bằng giá trị của đầu ra, hoặc là phân loại nhị phân bằng dấu của đầu ra. Còn các mạng có dout = k >1 có thể được dùng để phân loại với k lớp, bằng cách gán mỗi chiều cho một lớp rồi tìm chiều với giá trị lớn nhất. Tương tự, nếu vector đầu ra có tất cả các phần tử là dương và tổng của chúng bằng 1 thì nó có thể xem là sự phân bố xác suất trên các lớp (đầu ra có dạng này là kết quả của việc áp dụng biến đổi softmax ở tầng đầu ra, sẽ được nói đến ở phần sau). Các ma trận và bias sử dụng trong các phép biến đổi tuyến tính gọi là các tham số của mạng. Tập hợp tất cả các tham số thường được ký hiệu là θ. Các tham số được kết hợp với đầu vào để xác định đầu ra của mạng. Các giải thuật huấn luyện có nhiệm vụ chọn các giá trị của tham số sao cho kết quả tiên đoán của mạng là chính xác. Trong nhiều trường hợp, vector kết quả của tầng đầu ra cũng bị biến đổi. Một biến đổi thường được sử dụng là softmax: 𝑒 𝑥𝑖 𝑆𝑜𝑓𝑡𝑚𝑎𝑥 (𝑥𝑖 ) = 𝐾 , 𝑖 = 1, … , 𝑘. ∑𝑘=1 𝑒 𝑥𝑘 Kết quả là một vector chứa các số nguyên dương có tổng là 1, thể hiện phân bố xác suất rời rạc trên k kết quả có thể xảy ra. Biến đổi softmax thường được sử dụng khi chúng ta muốn mô hình một sự phân bố xác xuất trên tập các kết quả có thể xảy ra. Để đạt hiệu quả, nó thường được sử dụng kết hợp với một mục tiêu huấn luyện dạng xác suất (probabilistic training objective) như là cross-entropy. Khi biến đổi softmax được áp dụng cho đầu ra của mạng mà không có tầng ẩn nào, kết quả của nó là mô hình hồi quy logistic đa thức nổi tiếng, hay còn được gọi là bộ phân loại maximum-entropy. Quá trình xử lý thông tin của một ANN như sau: 11
  18. Hình 2: Xử lý thông tin trong mạng neuron (https://cs231n.github.io) Như hình trên, mỗi Input tương ứng với 1 thuộc tính (attribute) của dữ liệu (patterns). Ví dụ như trong ứng dụng của ngân hàng xem xét có chấp nhận cho khách hàng vay tiền hay không thì mỗi Input là một thuộc tính của khách hàng như thu nhập, nghề nghiệp, tuổi, số con. Outputlà kết quả xử lý của ANN. Ví dụ như với bài toán xem xét chấp nhận cho khách hàng vay tiền hay không thì output là yes (cho vay) hoặc no (không cho vay). Trọng số liên kết (Connection Weights): Đây là thành phần rất quan trọng của một ANN, nó thể hiện mức độ quan trọng (độ mạnh) của dữ liệu đầu vào đối với quá trình xử lý thông tin (quá trình chuyển đổi dữ liệu từ Layer này sang layer khác). Quá trình học (Learning Processing) của ANN thực ra là quá trình điều chỉnh các trọng số (Weight) của các input data để có được kết quả mong muốn. Hàm tổng (Summation Function): Tính tổng trọng số của tất cả các input được đưa vào mỗi Neuron (phần tử xử lý PE). Hàm tổng của một Neuron đối với n input được tính theo công thức sau: n y = ∑(𝑥i 𝑤𝑖 ) 𝑖=1 Kết quả trên cho biết khả năng kích hoạt của nơ-ron đó. Các nơ-ron này có thể sinh ra một output hoặc không trong ANN, hay nói cách khác rằng có thể output của 1 nơ-ron có thể được chuyển đến layer tiếp trong mạng nơ-ron hoặc không là do ảnh hưởng bởi hàm chuyển đổi (Transfer Function) hay hàm kích hoạt (active function), hàm này được dùng để giới hạn phạm vi đầu ra của mỗi neural. Nó nhận đầu vào là kết quả của hàm kết hợp và ngưỡng đã cho. Để nơ-ron được kích hoạt, tổng các input vào phải vượt qua một giá trị giới hạn được gọi là ngưỡng kích hoạt. 2. 1. 3 Các hàm kích hoạt thường dùng Có rất nhiều dạng hàm phi tuyến tính có thể sử dụng cho các tầng ẩn. Hiện tại không có lý thuyết nào về việc sử dụng hàm phi tuyến tính nào trong trường hợp nào, 12
  19. và cách chọn hàm phi tuyến tính thích hợp cho một tác vụ cụ thể trong thực nghiệm. Trong số các hàm phi tuyến tính, các hàm sau được sử dụng nhiều nhất: sigmoid, tanh, hard tanh, và rectified linear unit (ReLU).  Tanh 𝑒 2𝑥 −1 Hàm tanh có công thức tanh(𝑥) = 2𝑥 , nó có dạng chữ S, biến đổi giá trị x vào 𝑒 +1 miền[-1, 1].  Hard tanh Hàm hard tanh là một biến thể của hàm tanh để đơn giản hóa việc tính toán và dễ dàng để đạo hàm hơn: −1 𝑥 < −1 ℎ𝑎𝑟𝑑𝑡𝑎𝑛ℎ(𝑥) = { 1 𝑥 > 1 𝑥𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒  Sigmoid 1 Hàm sigmoid có công thức 𝜎(𝑥) = , nó có dạng chữ S, biến đổi giá trị x vào 1+𝑒 −𝑥 miền [0, 1].  ReLU Hàm ReLU, là một hàm phi tuyến tính đơn giản để sử dụng và cho kết quả rất tốt trong thực nghiệm. Hàm ReLU sẽ biến mỗi giá trị x
  20. Hình 3: Xử lý thông tin của một ANN (https://cs231n.github.io) 2. 1. 4 Hàm chi phí mất mát Cũng giống như khi huấn luyện một bộ phân loại tuyến tính, khi huấn luyện một mạng nơ-ron ta cũng phải định nghĩa một loss function L(𝑦̂,y), thể hiện mất mát của việc tiên đoán 𝑦̂khi kết quả chính xác là y. Mục tiêu của việc huấn luận là giảm thiểu tối đa mất mát của tất cả các mẫu huấn luyện khác nhau. Hàm L(𝑦̂,y) cho ra một điểm số (vô hướng) cho đầu ra của mạng 𝑦̂với kết quả mong muốn là y. Mất mát luôn luôn dương và chỉ bằng 0 trong trường hợp đầu ra của mạng là chính xác. Các tham số của mạng (ma trận Wi, bias bi) được chỉnh sửa để tối thiểu hóa mất mát trên toàn tập huấn luyện (thông thường thì tổng các mất mát của các mẫu huấn luyện khác nhau sẽ được tối thiểu hóa). Mất mát có thể là một hàm bất kỳ chiếu hai vector thành một đại lượng vô hướng. Vì mục đích tối ưu hóa trong thực tế của việc huấn luyện, hàm mất mát thường được giới hạn trong các hàm thuận lợi cho việc tính gradient. Các hàm mất mát thông dụng là: hinge loss (nhị phân), hinge loss (đa lớp), log loss, categorical cross-entropy loss, ranking loss  Hinge (binary) Trong bài toán phân loại nhị phân, đầu ra của mạng là một đại lượng vô hướng 𝑦̂và kết quả chính xác là y thuộc tập +1, -1. Phép phân loại được cho là chính xác nếu y · 𝑦̂>0, nghĩa là y và 𝑦̂cùng dấu. Hinge loss, còn được gọi là margin loss hay SVM loss, được định nghĩa là: 𝐿ℎ𝑖𝑛𝑔𝑒(𝑏𝑖𝑛𝑎𝑟𝑦) (𝑦̂, 𝑦) = max(0,1 − 𝑦̂. 𝑦) Mất mát bằng 0 khi y và 𝑦̂cùng dấu và |𝑦̂| ≥ 1. Ngược lại, mất mát là tuyến tính.  Hinge (multiclass) 14
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2