Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
1,54 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN HỮU CƯỜNG NGHIÊNCỨUHỆTHỐNGTRỢLÝTHƠNGMINHẢO Chun ngành: Hệthốngthơng tin Mã số: 60480104 TĨM TẮT LUẬN VĂN THẠC SĨ CƠNG NGHỆ THÔNG TIN Người hướng dẫn khoa học: TS Nguyễn Văn Vinh Hà Nội - 2017 MỞ ĐẦU Ngày nay, trí tuệ nhân tạo ngày phát triển mạnh mẽ Các hãng lớn Apple, Microsoft, Google đưa công nghệ tương tác trực tiếp với người dùng Trí tuệ nhân tạo ngày nâng cấp hoàn thiện giúp người dùng dễ dàng tương tác, dễ sử dụng giảm q trình thực Trí tuệ nhân tạo lĩnh vực mẻ quan tâm lớn từ hãng công nghệ hàng đầu Với công nghệ ngày áp dụng đời sống giúp người làm việc hiệu tiết kiệm thời gian sức lực, trí tuệ nhân tạo hệthống xây dựng để phục vụ cho điều Hệthốngtrợlýảohệthống giúp người giao tiếp với máy thực yêu cầu ý muốn người dùng Hiện giới hệthốngtrợlýảonghiêncứu phát triển mạnh mẽ hãng công nghệ hàng đầu giới Với mong muốn hiểu sâu trí tuệ nhân tạo, em định chọn đề tài “Nghiên cứuhệthốngtrợlýthôngminh ảo” làm đề tài luận văn thạc sĩ Qua đề tài em muốn nâng cao hiểu biết trí tuệ nhân tạo đồng thời nghiêncứu để áp dụng thực tiễn Việt Nam Nội dung luận văn chia làm phần sau: Chương 1: Giới thiệu tổng quan hệthốngtrợlý ảo, cấu trúc hệthốngtrợlý ảo, trình bày xử lý ngơn ngữ tự nhiên NLP ứng dụng NLP chatbot Chương 2: Nghiêncứu số kĩ thuật sử dụng chatbot, tìm hiểu quản lý hội thoại, mơ hình sinh hội thoại Chương 3: Trình bày trình thực nghiệm đánh giá, kết thực nghiệm xây dựng chatbot CHƯƠNG 1: TỔNG QUAN VỀ HỆTHỐNGTRỢLÝẢO 1.1 Giới thiệu hệthốngtrợlýảo Siri Apple [1], Google Now Google [2] Cortana Microsoft [3] đại diện cho lớp dịch vụ web gọi Ứng dụng Hỗ trợ Cá nhân Thôngminh (Intelligent Personal Assistants - IPA) IPA ứng dụng sử dụng yếu tố đầu vào tiếng nói, hình ảnh thơng tin theo ngữ cảnh người dùng để hỗ trợ cách trả lời câu hỏi ngôn ngữ tự nhiên, đưa khuyến nghị hành động Các IPA lên dịch vụ Internet phát triển nhanh gần họ triển khai tảng tiếng iOS, Android Windows Phone, làm cho chúng phổ biến thiết bị di động toàn giới Sử dụng IPAs gia tăng nhanh chóng với sản phẩm cơng nghệ đeo đồng hồ thơngminh kính thơngminh Sự tăng trưởng thị phần này, với việc thiết kế sản phẩm đeo phụ thuộc nhiều vào đầu vào hình ảnh giọng nói, cho thấy nhu cầu sử dụng dịch vụ IPA tăng lên nhanh chóng IPA khác với nhiều khối lượng cơng việc dịch vụ web có máy tính có quy mơ lớn (WSCs) Ngược lại với truy vấn dịch vụ trung tâm duyệt web, luồng truy vấn IPA thông qua thành phần phần mềm thúc đẩy tiến gần nhận dạng giọng nói, xử lý ngơn ngữ tự nhiên tầm nhìn máy tính để cung cấp cho người dùng câu hỏi dựa câu hỏi hệthống trả lời Do cường độ tính tốn thành phần mơ hình liệu dựa mơ hình mà họ sử dụng, nhà cung cấp dịch vụ u cầu tính tốn tảng trung tâm liệu lớn thay cho việc tính toán thiết bị di động Cách tiếp cận giảm tải sử dụng Siri Apple lẫn Google Now Google họ gửi ghi nén lệnh truy vấn giọng nói tới trung tâm liệu để nhận dạng tiếng nói khai thác ngữ nghĩa Sự tương tác thiết bị thơngminh với người khơng nằm việc gõ văn mà hình ảnh lẫn giọng nói, để đáp ứng nhu cầu ngày cao trải nghiệm người dùng, hãng công nghệ thông tin lớn ngày đầu tư mạnh vào hệthốngtrợlýthôngminhảo 1.2 Cấu trúc hệthốngtrợlýảo Để hiểu hệthốngtrợlýảo hoạt động nào, cần phải hiểu cấu trúc cấu tạo hệthốngtrợlýảo Sơ đồ hệthốngtrợlý ảo: Hình 1.1: Sơ đồ hệthốngtrợlýảo Dựa hình 1.1 [7], thấy cấu tạo hệthốngtrợlýảo bao gồm khối: khối người dung (user) có đầu vào ảnh, giọng nói, văn khối xử lý liệu (server) gồm khối xử lý hình ảnh, âm thanh, văn bản, khối quản lý hội thoại Truy vấn bắt đầu giọng nói, văn bản, hình ảnh người dung thiết bị thơngminh điện thoại, thiết bị đeo, kính thơngminh Các file nén hình ảnh, âm văn gửi tới máy chủ để xử lý Với giọng nói xử lý giao diện ASR (Automatic Speech Recognition) chuyển câu hỏi nói người dùng sang văn tương đương mơ hình thống kê Sau văn qua trình phân loại truy vấn (Query Classifier - QC) định xem phát biểu có phải hành động hay câu hỏi khơng Nếu hành động, lệnh gửi lại cho thiết bị di động để thực Nếu khơng, hệthống hiểu câu hỏi văn tuý Sử dụng kỹ thuật xử lý ngôn ngữ tự nhiên NLP (Natural Language Processing), dịch vụ câu hỏi trả lời QA (Question-Answering) trích xuất thơng tin từ đầu vào, tìm kiếm sở liệu chọn câu trả lời tốt để trả lại cho người dùng Nếu hình ảnh kèm với đầu vào giọng nói, hệthống sử dụng kỹ thuật thị giác máy tính để cố gắng phù hợp với hình ảnh đầu vào sở liệu hình ảnh trả thơng tin có liên quan với hình ảnh 1.3 Nhận dạng giọng nói tự động (ASR - Automatic Speech Recognition) Khối nhận dạng giọng nói tự động khối đầu vào giúp người dùng tương tác với trợlýảo giọng nói Các đầu vào cho ASR [9] vector đặc trưng đại diện cho đoạn nói, tạo bời trình tiền xử lý nhanh trích xuất đặc tính phát biểu Thành phần ASR dựa vào kết hợp mơ hình Hidden Markov (HMM) mơ hình hỗ hợp Gaussian (GMM) mạng nơ-ron sâu (DNN) HMM xây dựng trạng thái cho khung lời nói sử dụng vector tính đầu vào GMM DNN đánh giá xác suất chuyển đổi trạng thái cây, thuật tốn Viterbi sau tìm kiếm đường có nhiều khả dựa điểm Đường dẫn có xác suất cao thể kết xuất văn cuối Điểm GMM đánh giá HMM trạng thái chuyển tiếp cách ánh xạ vector đối tượng đầu vào vào hệ toạ độ đa chiều lặp lại điểm số đặc tính chống lại mơ hình âm đào tạo DNN điểm số sử dụng xác suất từ mạng thần kinh Độ sâu DNN xác định số lớp ẩn mà số điểm cho chuyển tiếp qua mạng Trong luận văn nghiêncứu chủ yếu DNN có độ xác cao Hình 1.2: Sơ đồ xử lý âm 1.4 Xử lý hình ảnh IMM (Image Matching) Khối xử lý hình ảnh IMM khối giúp người dùng tương tác với hệthốngtrợlýảothơng qua hình ảnh Khi người dùng muốn hỏi trợlýảo hình chẳng hạn bơng hoa hồng hệthốngtrợlýảo xử lý liệu hình ảnh đầu vào cung cấp đầu thông tin hình ảnh Từ liệu hình ảnh đưa vào hệthống cố gắng tìm kiếm hình ảnh sở liệu trước chế biến trả thơng tinh kết hợp hình ảnh Cơ sở liệu sử dụng hệthống sở liệu Mobile Visual Search Các điểm hình ảnh rút lần từ hình ảnh đầu vào sử dụng thuật toán SURF [7] Trong tính chiết xuất (FE), hình ảnh lấy mẫu xáo lộn nhiều lần để tìm điểm thú vị quy mô khác Khi ngưỡng đáp ứng lưu trữ điểm hình ảnh, điểm then chốt chuyển tới phận mô tả tính (FD), nơi chúng định vector định hướng điểm định hướng tương tự nhóm thành mơ tả tính Quá trình làm giảm biến đổi hình ảnh đầu vào, tăng hội tìm kiếm kết hợp xác Bộ mơ tả từ hình ảnh đầu vào đối sánh với mô tả nhóm trước đại diện cho hình ảnh sở liệu cách sử dụng tìm kiếm gần (ANN), hình ảnh sở liệu với số lượng lớn sở trả lại Hình 1.3: Sơ đồ xử lý hình ảnh 1.5 Quản lý câu hỏi trả lời QA (Question-Answering) 1.5.1 Cấu tạo quản lý câu hỏi Khối quản lý câu hỏi trả lời khối xử lý liệu tương tác hệthốngtrợlýảo người dùng hỏi hệthốngtrợlýảo lấy liệu từ khối QA để đưa câu trả lời phù hợp Văn xuất từ ASR nhập trực tiếp chuyển đến OpenEphyra (OE) sử dụng ba quy trình cốt lõi đẻ trích xuất thơng tin văn bản, bắt nguồn từ, kết hợp cụm từ thông dụng, gắn thẻ theo thành phần văn [7] Hình mơ tả sơ đồ OE kết hợp thành phần này, tạo truy vấn tìm kiếm web lọc kết trả Thuật toán Porter (stemmer) phơi bày gốc từ cách kết hợp cắt ngắn từ thông dụng OE sử dụng mẫu biểu thức quy để đối sánh từ truy vấn chung (như gì, đâu …) lọc ký tự đặc biệt đầu vào Trình phân loại ngẫu nhiên (CRF) lấy câu, vị trí từ câu nhãn từ trước làm đầu vào để đưa dự đốn phần nói từ truy vấn đầu vào Mỗi truy vấn đầu vào phân tích cú pháp cách sử dụng thành phần nói để tạo truy vấn cho cơng cụ tìm kiếm Tiếp theo, lọc sử dụng kỹ thuật tương tự sử dụng để lấy thông tin từ tài liệu trả về; tài liệu với điểm tổng thể cao sau tổng hợp số điểm trả câu trả lời hay Hình 1.4: Quản lý câu hỏi trả lời 1.5.2 Xử lý ngôn ngữ tự nhiên Quản lý câu hỏi trả lời Theo Wikipedia, NLP (Natural Language Processing) nhánh trí tuệ nhân tạo tập trung vào ứng dụng ngơn ngữ người Trong trí tuệ nhân tạo xử lý ngơn ngữ tự nhiên phần khó liên quan đến việc phải hiểu ý nghĩa ngôn ngữ - công cụ hoàn hảo tư giao tiếp Theo cách hiểu hiểu xử lý ngơn ngữ tự nhiên [6] phạm vi lý thuyết kỹ thuật tính tốn để phân tích mơ tả văn xảy tự nhiên nhiều mức độ phân tích ngơn ngữ theo u cầu người mong muốn Mục tiêu NLP nhằm thể ý nghĩa thực ý định người dùng thao tác liệu Điển hình ứng dụng NLP: - Giải thích văn đầu vào - Dịch văn sang ngôn ngữ khác - Trả lời câu hỏi nội dung văn - Thu thập suy luận từ văn 1.5.3 Các mức NLP - Ngữ âm học: mức liên quan tới việc giải thích âm nói từ Có ba loại quy tắc sử udnjg phân tích âm vị học: quy tắc âm từ, quy tắt ngữ âm biến thể phát âm từ nói với nhau, quy tắt biến động ngữ điệu câu Một hệthống NLP hỗ trợ đầu vào nói, song âm phân tích mã hóa tính hiệu thành tín hiệu số hóa để giải thích quy tắc khác việc so sánh với mơ hình ngơn ngữ cụ thể sử dụng - Hình thái học: mức độ liên quan tới chất cấu thành từ bao gồm đơn vị nhỏ ý nghĩa Ví dụ từ preregistration phân tích thành trước tiền tố, gốc “registra” hậu tố Vì ý nghĩa hình thái giữ nguyên qua từ ngữ, người phân chia từ khơng rõ thành hình thái cấu thành để hiểu ý nghĩa Tương tự NLP nhận ý nghĩa truyền đạt hình thái đạt đại diện cho ý nghĩa Ví dụ thêm hậu tố vào động từ cho biết hành động động từ diễn khứ - Từ vựng học: người hay hệthống NLP diễn giải ý nghĩa từ - Thuật ngữ: tập trung vào việc phân tích từ câu để khám phá ngữ pháp cấu trúc câu Điều đòi hỏi ngữ pháp trình độ phân tích cú pháp Kết việc đại diện câu Các mối quan hệ phụ thuộc cấu trúc từ có nhiều ngữ pháp khác sử dụng ảnh hưởng đến lựa chọn trình phân tích cú pháp Ví dụ có câu “con chó đuổi mèo” “con mèo đuổi theo chó” khác về ý nghĩa - Ngữ nghĩa: mức độ mà hầu hết người nghĩ ý nghĩa xác định nhiên xem xác định cấp, tất cấp có ý nghĩa góp phần vào Xử lý ngữ nghĩa xác định ý nghĩa câu cách tập trung vào tương tác ý nghĩa cấp từ câu Mức độ bao gồm việc định hướng ngữ nghĩa từ với nhiều giác quan, theo cách tương tự để cách phân định cú pháp từ hoạt động nhiều phần cảu phát biểu hoàn thành cấp cú pháp Ví dụ nghĩa khác “file” danh từ có nghĩa thư mục công cụ để tạo - Đàm luận: cú pháp ngữ nghĩa làm việc với đơn vị câu, mức độ diễn đạt NLP làm việc với đơn vị văn dài câu Nghĩa khơng giải thích văn câu ghép nối, câu giải thích đơn lẻ Thay vào diễn thuyết tập trung vào tính chất văn tập trung kết nối thành phần câu - Thực dụng: liên quan đến việc sử dụng có mục đích ngơn ngữ tình sử dụng bối cảnh nội dung văn để hiểu mục đích để giải thích làm thể thêm ý nghĩa đọc vào văn Điều đòi hỏi nhiều kiến thức bao gồm hiểu ý định, kế hoạch mục tiêu Hệthống NLP có khuynh hướng thực thành mô đun để đạt mức độ yêu cầu Mức độ thấp sử dụng mơ đun thấp, mức độ cao dùng nhiều mơ đun thấp kết hợp 1.6 Ứng dụng NLP chatbot 1.6.1 Cấu tạo hệthống chatbot Hình 1.5: Mơ hình hệthống chatbot Chatbot hiểu hệthống thực hội thoại mở với mục đích bắt chước tính đàm thoại phi cấu trúc trò truyện người với máy Hình 1.5 mơ tả cấu trúc mơ hình chatbot [9] Trong mơ hình chatbot kiểu truy xuất thông tin (retrieval-based), thành phần ngôn ngữ tự nhiên NLU sử dụng nhiều kĩ thuật xử lý ngôn ngữ tự nhiên NLP để phân tích câu hội thoại, xác định ý định người dùng, trích xuất thơng tin người dung cung cấp Sau thông tin chuyển tới cho thành phần quản lý hội thoại (Dialogue manager) Thành phần quản lý hội thoại xử lýthông tin chuyển tới cho để sinh câu hội thoại 1.6.2 Cấu trúc hộp thoại chatbot Hình 1.6: Cấu trúc hộp thoại chatbot Giao diện chatbot gồm: - Nội dung dành cho người dùng thao tác nhập liệu: ghi âm giọng nói, nhập văn bản, thêm file hình ảnh, âm thanh, địa - Nơi hiển thị: giao diện tương tác nơi hiển thị nội dung người dùng nói nơi Chatbot trả lời 1.6.3 Xử lý liệu chatbot 1.6.3.1 Tập văn (Corpus-based chatbots) Corpus-based chatbots [8] dựa sở thay dựa quy tắc xây dựng tay, hội thoại người với người, phản ứng người từ trò chuyện Serban et al (2017) tổng hợp số tập văn tử kết thúc chuỗi sang chuỗi khác Mỗi trạng thái ẩn ảnh hưởng đến trạng thái ẩn trạng thái ẩn cuối xem tích luỹ tóm tắt chuỗi Trạng thái gọi bối cảnh hay vector suy diễn, đại diện cho ý định chuỗi Từ bối cảnh đó, giải tạo chuỗi, phần tử thời điểm Ở đây, bước giải mã bị ảnh hưởng bối cảnh phần tử sinh trước Hình 2.7: Kiến trúc seq2seq Quá trình tìm hiểu cấu trúc mơ hình hệthốngtrợlý ảo, thấy để xây dựng hệthốngtrợlýảo cần nhiều mô đun khác ghép lại, từ đầu vào cần xử lý liệu, sau truyền vào hệthống xử lý liệu cuối trả lại liệu cho người dùng Hệthốngtrợlýảothôngminh nhờ khâu xử lý liệu quan trọng tìm hiểu sâu chương 11 CHƯƠNG 2: MỘT SỐ KĨ THUẬT SỬ DỤNG TRONG TRỢLÝẢO 2.1 Mạng học sâu DNNs 2.1.1 Khái nghiệm mạng học sâu Mạng học sâu Deep Neural Networks (DNNs) [10] mơ hình học máy giúp nhận dạng giọng nói nhận diện đối tượng thị giác tốt DNNs thực tính tốn song song tùy ý cho số bước Ví dụ khả xếp N số N-bit sử dụng lớp ẩn kích thước bậc hai Vì mạng nơ ron liên quan đến mơ hình thống kê thơng thường, DNN cho phép tính tốn phức tạp Các DNN đào tạo với đẩy lùi ngược lại giám sát tập huấn có dán nhãn đầy đủ thơng tin để xác định thông số mạng Do tồn tham số thiết lập DNN lớn đạt kết tốt Kiểm soát ngược trở lại giám sát tìm thông số giải vấn đề Tuy nhiên DNN áp dụng cho vấn đề đầu vào mục tiêu mã hóa cách hợp lý với vector có chiều khơng cố định Kiến trúc nhớ ngắn hạn LSTM (Long Short-Term Memory) giải trình tự chung cho vấn đề trình tự LSTM để đọc chuỗi đầu vào, timestep thời gian, để có chiều lớn định lượng lớn vector đại diện, sau sử dụng LSTM để trích xuất chuỗi đầu từ vector LSTM thứ hai mơ hình mạng lưới thần kinh mạng tái diễn Khả thành cơng LSTM tìm hiểu liệu phụ thuộc thời gian dài làm cho lựa chọn tự nhiên cho ứng dụng thời gian trễ đáng kể đầu vào đầu tương ứng chúng Đã có số nỗ lực giải trình tự chung để học hỏi chuỗi vấn đề với mạng nơ ron Xem ví dụ: mơ hình đọc đầu vào “Xin chào ABot” đầu “Tôi Là ABot” Các trạng thái ẩn xem vector ngưỡng suy nghĩ Hình 2.8: Biểu diễn mơ hình mạng 12 2.1.2 Xây dựng mơ hình 2.1.2.1 Mạng nơ ron tái phát RNN Mạng nơ ron tái phát RNN (Recurrent Nerual Network) [10] mạng tổng quát mạng nơ ron cho chuỗi Là mơ hình học sâu (Deep Learning) đánh giá nhiều ưu điểm RNN lấy ý tưởng thiết kế mạng lưới cho có khả xử lýthơng tin dạng chuỗi, thực lặp lại tác vụ cho thành phần chuỗi Kết đầu thời điểm phụ thuộc vào kết tính tốn thời điểm trước Với chuỗi đầu vào (�1, , �� ), một mạng RNN chuẩn tính toán một chuỗi kết đầu (�1, , ��), cách duyệt phương trình sau: h� = ���� (� h� hh �� + � h�−1) (2.10) �h �� =� h� Hình 2.9: Mạng nơ ron tái phát RNN RNN dễ dàng lập đồ trình tự cho dãy liên kết đầu vào đầu biết đến trước thời hạn Tuy nhiên không rõ ràng làm để áp dụng RNN cho vấn đề mà đầu vào chuỗi đầu có độ dài khác với mối quan hệ phức tạp không đơn điệu Một cách đơn giản cho việc học chung chung lập đồ trình tự đầu vào cho vector có kích thước cố định sử dụng RNN sau để ánh xạ vector tới dãy đích với RNN khác Có thể hoạt động nguyên tắc kể từ cung cấp với tất thơng tin liên quan, khó để đào tạo RNN kết lâu dài phụ thuộc vào thời gian Nên sử dụng LSTM thành công việc khắc phục điều 2.1.2.2 Mơ hình LSTM LSTM (Long short-term memory) [10] mơ hình có cấu trúc tương tự RNN, có cách tính tốn khác trạng thái ẩn 13 Kiến trúc LSTM bao gồm tập hợp mạng kết nối liên tục, biết đến khối nhớ Những khối nhớ coi phiên khác biệt nhớ số máy tính số Mỗi khối nhớ chứa nhiều tế bào nhớ tự kết nối Mục tiêu LSTM ước tính xác suất có điều kiện �(�1, ,�� ′|�1, ,��) (�1, ,��) một chuỗI đầu vào (�1, ,��′) chuỗi đầu tương ứng có ′ chiều dài � khác từ � Mạng LSTM tính xác suất có điều kiện cách có chiều dài cố định � chuỗi đầu vào (�1, , ��) tính trạng thái ẩn cuối mạng LSTM, sau tính tốn xác suất (�1, , ��′) với một công thức LSTM-LM tiêu chuẩn mà ban đầu trạng thái ẩn được thiết lập để đại diện � (�1, ,��): (2.11) Mỗi phân phối xác suất �(�1, ,��′|�1, ,��) đựợc biểu diễn một hàm softmax tất từ từ vựng Mỗi câu kết thúc với một ký hiệu đặc biệt end-ofsentence "", cho phép mơ hình để xác định một phân phối chuỗi tất độ dài có thể, LSTM tính xác suất đại diện “Xin”, “chào”, “ABot”, “” sau sử dụng đại diện để tính xác xuất “Vâng”, “Tơi”, “là”, “ABot”, “” Mơ hình thực tế khác với mơ tả theo cách quan trọng: - Đầu tiên sử dụng LSTM khác nhau: cho trình tự đầu vào cho trình tự đầu Do làm tăng tham số mơ hình số với chi phí tính tốn khơng đáng kể làm cho tự nhiên Đào tạo LSTM nhiều cặp ngôn ngữ lúc - Thứ 2: deep LSTM vượt trội shallow LSTM tơi chọn LSTM với lớp - Thứ 3: có giá trị để đảo ngược thứ tự tùw câu đầu vào Ví dụ thay vào ánh xạ câu a, b, c đến câu x, y, z LSTM yêu cầu vẽ đồ c, b, a đến x, y, z Trong x, y, z dịch a, b, c Bằng cách a nằm gần x, b gần y thực tế giúp dễ dàng thiết lập đầu vào đầu 14 2.1.3 Vấn đề giải pháp khắc phục Để xử lý chuỗi dài kích thước từ vựng có số cách sau: PADDING – Tạo độ dài cố định Trước huấn luyện, cần chuyển đổi độ dài phần tử chuỗi thành chuỗi có độ dài cố định, việc thêm vào phần tử đệm PADDING Các phần tử đệm đặc biệt mà sử dụng: - EOS: Kết thúc câu (End of sentence) - PAD: Phần đệm bù (Filler) - GO: Bắt đầu giải mã (Start decoding) - UNK: Unknown; từ không biết, từ điển từ vựng Xem xét một cặp ví dụ HỎI – ĐÁP sau đây: Q: Bạn tên gì? A: Vâng tơi ABot Giả sử muốn xử lý đoạn hội thoại có độ dài 10, kết cặp Q/A được chuyển đổi thành như sau: Q: [ PAD, PAD, PAD, PAD, PAD, PAD, “?”, “gì”, “là”, “tên”, “Bạn”] A: [ GO, “Vâng”, “tôi”, “là”, “ABot”, EOS, PAD, PAD, PAD, PAD] BUCKETING – Tránh lu mờ thông tin Bucketing giải vấn đề việc đặt câu vào xô buckets có kích thước khác Ví ta có một danh sách xô buckets: [(5, 10), (10, 15), (20, 25), (40, 50)] Nếu độ dài mẫu hỏi như ví dụ được đặt vào xơ (5, 10) Mẫu hỏi được đệm với độ dài đáp án được đệm với độ dài 10 Trong lúc chạy mơ hình (huấn luyện hoặc dự đốn), sử dụng một mơ hình khác cho bucket, tương ứng với độ dài mẫu hỏi câu trả lời Tất mơ hình chia sẻ tham số giống hoạt động xác theo một cách Nếu sử dụng xơ (5, 10), câu được mã hóa thành: Q: [ PAD, “?”, “gì”, “là”, “tên”, “Bạn”] A: [ GO, “Vâng”, “tôi”, “là”, “ABot”, EOS, PAD, PAD, PAD, PAD] WORD EMBEDDING – mật độ dày đặc Được ứng dụng cho mơ hình hóa ngơn ngữ kỹ thuật học xử lý ngôn ngữ tự nhiên, nơi từ cụm từ từ vựng ánh xạ vector số thực Khái niệm 15 bao hàm nhúng tốn học từ khơng gian với chiều cho từ tới không gian vector liên tục với kích thước thấp nhiều Word Embedding ứng dụng lớp mạng: Trong lớp embedding ánh xạ một từ (chỉ số index từ từ điển từ vựng) từ từ điển sang một vector dày đặc với kích thước cho Trong mơ hình seq2seq, trọng số lớp embedding huấn luyện giống với tham số khác mơ hình Trong nghiêncứu Mikolov cộng sự, 2013 [29] Tác giả đề xuất hai kiến trúc để xây dựng word vector Continuous Bag-of-Words model (CBOW), Continuous Skip-gram model Trong đó, kiến trúc CBOW: Dự đoán từ hiện dựa ngữ cảnh từ trước Skip-gram: Dự đốn từ xung quanh cho từ hiện Ví dụ: Giả sử có câu: Tơi muốn mua bia Tương ứng với từ câu này, khởi tạo vector random với số chiều quy định trước (ví dụ số chiều 50) Người ta sử dụng mạng nơ ron dụng mạng nơ ron để điều chỉnh vector từ cho chúng thỏa mãn số điều kiện Để trả lời câu hỏi trước tiên cần quan tâm tới đặc điểm ngôn ngữ, từ có mối liên hệ với thường xuất ngữ cảnh khác Giả sử thay từ “mua” từ “cắt” rõ ràng câu khơng có ý nghĩa khơng hợp lệ Từ mạng nơ ron điều chỉnh tham số cho hợp lý để đưa đầu hợp lý 2.2 Quản lý hội thoại 2.2.1 Mơ hình quản lý dựa khung (Frame based dialog Agents) 2.2.1.1 Kiểm soát cấu trúc hộp thoại dựa khung Kiến trúc điều khiển hệthống hộp thoại dựa khung [8] thiết kế xung quanh khung Mục đích để điền vào khe khung với chất độn mà người sử dụng dự định, sau thực hành động có liên quan cho người dùng (trả lời câu hỏi đặt chuyến bay) Hầu hết hệthống thoại dựa khung dựa máy tự động hữu hạn thiết kế tay cho nhiệm vụ hộp thoại 16 Hình 2.10: Kiến trúc tự động trạng thái hữu hạn cho hộp thoại dựa khung Hình triển khai hệthống du lịch mà công việc họ yêu cầu người dùng sử udnjg thông tin cho tiêu trí: departure city, a destination city, a time, and whether the trip cho chiều Trước hết liên kết với tiêu trí câu hỏi để u cầu: Hình 2.11: Ví dụ mơ hình dialogue dựa Frame Hệthống kiểm sốt hồn tồn nói truyện với người sử dụng Nó u cầu người sử dụng loại câu hỏi, bỏ qua (hoặc hiểu sai) điều khơng phải câu trả lời trực tiếp cho câu hỏi sau tiếp tục câu hỏi Giải nhược điểm FSA người dùng đưa lúc nhiều thông tin Tại trạng thái FSA nhận câu trả lời cho câu hỏi - Dựa frame định sẵn để định hướng hội thoại - Mỗi Frame bao gồm thông tin cần điền câu hỏi tương ứng - Dialogue Manager hỏi slot điền hết - Trong hội thoại có nhiều frame Ví dụ: khách hàng vừa hỏi vấn đề mạng chậm vừa hỏi muốn đổi gói internet - Dialogue manager cần biết cần chuyển sang frame khác 2.2.1.2 Sự hiểu biết ngôn ngữ tự nhiên để điền vào slot Mục tiêu thành phần hiểu biết ngôn ngữ tự nhiên trích ba điều từ lời nói người sử dụng - Nhiệm vụ phân loại tên miền, ví dụ nói hãng hàng khơng, lập trình đồng hồ báo thức, hay giải lịch 17 - Thứ xác định mục đích người dùng mục tiêu người dùng cố gắng hồn thành Ví dụ tìm phim, hiển thị chuyến bay - Thứ trích xuất slot điền cụ thể mà người dùng dự định hệthống hiểu từ phát biểu họ ý định họ Ví dụ: Cho tơi xem chuyến bay buổi sáng từ Hà nội đến Hồ Chí Minh vào thứ ba Một hệthống xây dựng biểu diễn sau: Domain: air-travel Intent: show flight Origin City: Hà nội Origin Date: thứ ba Origin Time: buổi sang Dest City: Hồ chí minh Ví dụ 2: đánh thức vào ngày mai lúc 6h Domain: alarm clock Intent: đánh thức Time: 6h Date: ngày mai 2.2.2 VoiceXML Có nhiều hệthống thương mại cho phép nhà phát triển thực hệthống hộp thoại dựa khung, chẳng hạn Amazon Alexa hay Google Assistant [8] Các hệthống công nghiệp cung cấp thư viện để xác định quy tắt để phát ý định người dùng cụ thể điền vào slot để diễn tả kiến trúc để kiểm soát khung hành động mà hệthống nên thực Thay tập trung vào hệthống thương mại này, lựa chọn simVoiceXML có khả tương tự với người Ngôn ngữ Voice Extractible Markup Language dựa ngôn ngữ thiết kế hộp thoại sử dụng để tạo hộp thoại khung VoidXML đơn giản hệthống khung thương mại đầy đủ (nó xác định cho phép mơ hình ngữ pháp dựa ngữ pháp phi xác suất trình phân tích ngữ nghĩa chuẩn), cách hữu ích để nắm bắt khung hình dựa khung thiết kế hệthống tài liệu VoiceXML chứa tập hợp hộp thoại, trình đơn biểu mẫu Mẫu khung, có slot gọi trường Đoạn mở đầu ví dụ cho thấy xử lý lỗi Nếu người dùng không trả lời sau nhắc tức im lặng vượt ngưỡng thời gian chờ, trình thơng dịch VoiceXML 18 chạy lời nhắc Nếu người dung nói điều mà khơng khớp với ngữ pháp cho trường đó, trình thơng dịch phát nhắc VoiceXML cung cấp lệnh lặp lại nhắc nhở cho lĩnh vực gây lỗi Thẻ cho trường thực trình thơng dịch trường điền người dung Ở tính sử dụng để xác nhận đầu vào người dung 2.3 Mơ hình sinh hội thoại 2.3.1 Ý nghĩa mơ hình sinh hội thoại - Tận dụng hội thoại để tự động sinh hội thoại Chatbot học theo cách trả lời người đoạn hội thoại khứ Ví dụ đoạn hội thoại liệu IT Helpdesk [Vinyals and Le 2015] [9] Describe your problem: i am having issues accessing vpn Machine: could you please let me know what are the operating systems you are using? Human: i am using linux Machine: ok it was in the ssl vpn on which you stated it was broken Machine: please check if you are logged in to corp network Machine: what is the error that you are running please Human: i am seeing an error related to vpn Machine: what is the error message that you are getting when connecting to vpn using network connect? Human: connection refused or something like that Machine: may i know the version of network connect you connect? - Chatbot theo mơ hình sinh bắt chước từ ngữ câu hội thoại nhân viên hỗ trợ Machine: try this Machine: goto page and enter your name and password Human: done Machine: try logging in with and check if its working fine now Human: yes, now it works! Machine: great(The indeed contains information about vpn access.) 2.3.2 Đặc điểm mơ hình hội thoại - Khơng cần liệu gán nhãn hoặc cần lượng liệu gán nhãn hơn nhiều so 19 với mơ hình chatbot truyền thống - Một mơ hình học trực tiếp từ liệu hội thoại Cần liệu hội thoại lớn - Mơ hình khơng thực phản ảnh chất hội thoại người với người - Chất lượng hội thoại sinh phụ thuộc lớn vào liệu hội thoại Chatbot Tay AI Microsoft phân biệt chủng tộc bị người dùng "huấn luyện” - Các toán NLP cơ cách tiếp cận truyền thống phát triển chatbot o Xác định intent o Trích xuất thơng tin o Quản lý hội thoại - Cách tiếp cận truyền thớng o Là mơ hình chatbot phổ biến sản phẩm chatbot thực tế o Theo mơ hình truy xuất thơng tin o Cần nhiều liệu huấn luyện luật chuẩn bị tay o Thích hợp cho miền ứng dụng đóng - Neural chatbot: cách tiếp cận phát triển chatbot Học từ liệu hội thoại theo mơ hình “sequence to sequence” mơ hình học sâu (Deep learning) 2.4 Nhận xét Một hệthốngtrợlýảothôngminh nhờ khối xử lý liệu bên Với mạng học sâu DNN phần giúp hệthống trả lời thơngminh Tuy có hạn chế định cải thiện áp dụng vào thực tế Ở chương 3, em xây dựng hệthốngtrợlýảo bao gồm mơ hình: - Đầu vào cho người dùng: sử dụng khối ASR, khối IMM, khối nhập văn - Khối xử lý liệu: Api.ai (hệ thống sử dụng mạng học sâu DNN xây dựng frame hộp thoại) - Đầu cho người dùng văn trả lời cho người dùng 20 CHƯƠNG 3: THỰC NGHIỆM VÀ ĐÁNH GIÁ 3.1 Phát triển tốn Như trình bày chương chương tìm hiểu hệthốngtrợlý ảo, chương em trình bày việc xây dựng hệthống chatbot áp dụng kiến thức tìm hiểu từ chương chương Bài toán xây dựng sau: Khi người mua hàng hỏi nội dung: “Tơi muốn mua bia?” hỏi người bán hàng dễ trả lời, người bán hàng trả lời “Đã xong, bạn muốn mua khơng?” Nếu khơng thực tốn mua tiếp tiếp tục hỏi lại câu hỏi kết thúc tốn Đó điều dễ hình dung hội thoại người với người Nhưng giả sử khơng có người bán hàn đó, người dùng khơng thể mua hay đặt hàng Đó điều hạn chế với nhiều cửa hàng ln có người trực 24h hàng ngày để thực câu hỏi câu trả lời Hoặc có nhiều người mua lúc sao? Người bán hàng trả lời lúc tất Chính xây dựng hệthốngtrợlýảothôngminh giải hạn chế Chatbot đặt đồ ăn ý tưởng xây dựng cho cửa hàng bán đồ ăn đồ uống Với mục đích hỗ trợ người bán hàng tương tác với nhiều vị khách mà thuê nhiều người bán hàng Người mua cần lên giao diện chatbot đặt đồ ăn sau đặt đồ ăn xong, tốn xong cần đợi đồ ăn vận chuyển tới mà không cần phải tới xếp hàng cửa hàng tới tận cửa hàng để mua 3.2 Chương trình thực nghiệm Chương trình thực nghiệm luận văn em chia làm mơ hình: Mơ hình người dùng: giao diện để người dùng tương tác xây dựng tảng iOS Apple Đầu vào mơ hình gồm: hình ảnh, âm thanh, văn Đầu mơ hình văn Mơ hình hệthốngtrợlýảo (hay gọi mơ hình chatbot) nơi xử lý tương tác người dùng đưa câu trả lời phù hợp theo ý người dung Ở mô hình tích hợp API.AI Google Api.ai hệthống mở giúp lập trình viên tự xây dựng hệthốngtrợlýảo theo mục đích phát triển Hệthốngtrợlýảo em xây dựng API.AI hệthống giúp người dùng đặt đồ ăn hỏi câu hỏi liên quan tới thời tiết Để hiểu rõ hệthống trước hết cần hiểu cấu tạo API.AI từ huấn luyện liệu cho chatbot để trả lời tự động câu hỏi người dùng 21 3.2.1 Cấu trúc Api.ai Là hệthống phát triển cơng nghệ tương tác máy tính với người dựa trò chuyện tự nhiên sử dụng mạng học sâu DNN Phát triển cho nhiều tảng thực nhiệm vụ trả lời câu hỏi người dùng ngôn ngữ tự nhiên kết hợp ngữ cảnh hội thoại lịch sử, vị trí, sở thích người dùng Hình 3.1 cấu tạo mơ hình chatbot bao gồm mơ hình người dùng gồm đầu vào văn âm thanh, đầu văn âm mơ hình api.ai gồm intent, khối xử lý liệu đầu vào đầu Khi người dùng gửi văn gửi lên api.ai Tại văn qua khối query truyền vào khối intent để xử lý liệu Trong khối intent gồm nhiều frame để đáp ứng câu hỏi người dùng Sau lấy câu trả lời từ Database api.ai trả cho người dùng câu trả lời phù hợp 3.2.2 Thành phần API.AI Để hiểu rõ API.AI cần hiểu mô đun hệthống Bao gồm: API.AI Intents: intents (ý định) đại diện cho việc lập đồ người dùng nói hành động máy tính Trong giao diện Intents gồm: user says, action, response, contexts API.AI contexts: Là khối chứa câu trả lời để api.ai trả lời cho người dùng câu phù hợp với câu hỏi Ví dụ người dùng nói “xin chào” chatbot lấy ngẫu nhiên câu trả lời phù hợp trả lời người dùng “Tơi Abot Chào bạn” API.AI webhook: Mục đích khối webhook giúp cho lập trình viên tích hợp nhiều frame với liệu huấn luyện sẵn mà không cần xây dựng lại từ đầu Điều giúp nhiều cho hệthống muốn tích hợp hộp thoại có sẵn liệu 3.2.3 Mơ hình xây dựng Hệthống webhook xây dựng theo hình 3.5 Khi lập trình viên muốn xây dựng webhook với nội dung thời tiết lấy liệu từ yahoo weather sau sử dụng mã nguồn python để xây dựng webhook Khi hồn thành tải lên service heroku nơi hỗ trợ lưu trữ nhiều webhook Từ heroku huấn luyện cho api.ai để hiểu Từ tương tác với người dùng thơng qua nhiều webhook 3.2.4 Giao diện ứng dụng Mơ hình người dùng xây dựng tảng iOS Apple Giao diện hỗ trợ tương tác thiết bị di động Để cài đặt phần mềm người dùng sử dụng file ipa phần mềm Xcode apple xuất Giao diện gồm khối: 22 - Khối hiển thị hộp thoại chatbot với người dùng - Khối người dùng muốn nhập văn giọng nói hình ảnh Hướng dẫn cài đặt: Cách 1: chạy trực tiếp từ Xcode vào thiết bị Cách 2: đĩa luận văn có file Abot.ipa để cài trực tiếp Người dùng cần sử dụng phần mềm hỗ trợ ifunbox để cài Có thể tải ifunbox xem cách sử dụng trang web ifunbox (http://www.i-funbox.com/) Cách 3: gửi mail hỗ trợ trực tiếp nguyenhuucuong2405@gmail.com để hướng dẫn cài đặt Hướng dẫn sử dụng: Bước 1: người dùng nhấn vào icon Robot giao diện Bước 2: Hộp thoại chatbot lên Có giao thức giúp người dùng nói chuyện với chatbot Nếu người dùng gửi văn cách nhập keyboard cần nhập nội dung vào ô nhập văn Nếu muốn chuyển sang trạng thái nói nhấn vào nút ghi âm Khi nói xong người dùng cần nhấn lại nút ghi âm lần để kết thúc trình ghi âm Tại thời điểm hệthống sử dụng công nghệ xử lý âm ASR [9] để chuyển đổi âm thành văn bản, từ gửi lên API.AI để chatbot hiểu Ngồi có thêm tính gửi hình ảnh, địa điểm bật máy ảnh chụp ảnh gửi lên cho api.ai Tuy nhiên việc xử lý hình ảnh địa phát triển nên tính hạn chế 3.3 Mơ hình hội thoại Tiến hành thử nghiệm chat ngẫu nghiên với ABot lần 50 câu lấy kết Bảng kết đánh giá: Bảng 3.1: Kết thử nghiệm Thử nghiệm Số câu 28/50 31/50 24/50 39/50 41/50 Đánh giá kết thử nghiệm Số câu sai 22/50 19/50 26/50 11/50 9/50 Độ xác 56% 62% 48% 78% 82% Dựa bảng kết thấy độ xác tăng dần Có thể giải thích vì: 23 Lần 1: chat với bot có câu bot chưa huấn luyện nên dẫn tới khơng hiểu trả lời sai Vì độ xác thấp Lần 2: câu trả lời huấn luyện lại cho bot hiểu, nên lần sau gặp câu trả lời ý người dùng Vì độ xác tăng thêm Lần 3: chat nội dung khác nhau, huấn luyện chưa có nội dung nên trả lời sai độ xác thấp Lần 4, 5: huấn luyện tiếp, độ xác tăng người dùng nói nội dung bot huấn luyện 3.4 Nhận xét kết Sau thực thử nghiệm Abot mobile kết thu đặt câu hỏi tỷ lệ đáp án chấp nhận thấp, nghiên giải số vấn đề: - Vấn đề phát sinh câu hỏi nằm vùng tập liệu huấn luyện, phần câu hỏi đặt hồn tồn mang tính chất khách quan Abot tự đưa số câu trả lời khách quan có độ phù hợp với câu hỏi người dùng - Xây dựng mơ hình hiểu ngơn ngữ tiếng việt API.AI Google không hỗ trợ tiếng việt trả lời câu trả lời tiếng việt - Với câu hỏi dài phức tạp, tùy theo tham số độ dài huấn luyện tùy theo tham số truyền vào Abot có khả đưa câu trả lời phù hợp - Độ tự động trả lời Abot có thời gian huấn luyện chưa lâu nên việc trả lời khía cạnh khơng thể nên đưa câu trả lời khách quan Với vấn đề kết đạt Abot chưa đạt tới mức áp dụng rộng rãi cần thêm thời gian để phát triển thêm ý tưởng tập liệu Ý tưởng phát triển cho Abot: - Nâng cấp giao diện để sử dụng Abot cửa hàng, nhà hàng thực phẩm có sử dụng mạng để quảng cáo thức ăn - Bổ xung thêm liệu huấn luyện nhiều mảng địa chỉ, thời tiết, thời gian, thực đơn, toán… - Xây dựng framwork riêng cho dự án không phụ thuộc vào google - Nâng cấp huấn luyện để Abot trợlýảo thực Siri Kết thu sau q trình nghiêncứu hồn thành luận văn - Tìm hiểu cấu trúc hệthốngtrợlýảo - Hiểu mô đun cấu trúc cấu tạo, vận hành thuật toán ứng dụng để 24 dựng riêng framwork - Hiểu cách huấn luyện chatbot để ứng dụng nhiều lĩnh vực công việc đời sống KẾT LUẬN Hệthốngtrợlýảo lĩnh vực mà công ty công nghệ tập trung đầu tư nghiêncứu mạnh mẽ ngày phát triển Ứng dụng hệthốngtrợlýảo dần đưa vào đời sống, tích hợp từ hệthống chatbot tích hợp vào hệthống phức tạp y tế, dạy học Qua luận văn, em đạt kết định Đầu tiên tìm hiểu mơ hình hệthốngtrợlý ảo, cấu trúc hệthống Từ mơ hình hệthốngtrợlýảo giúp em hiểu cấu tạo, thuật tốn ứng dụng mơ hình Từ giúp em sâu nghiêncứu mô đun hệthống ứng dụng thực tiễn xây dựng hệthốngtrợlýảo phù hợp với mục đích Thứ hai từ việc huấn luyện chatbot giúp em có kiến thức, độ hiểu biết sâu mạng học sâu, cách xây dựng mơ hình hộp thoại, xây dựng liệu huấn luyện Từ đúc kết kiến thức để ứng dựng thực tế cơng việc mục đích huấn luyện hệthốngtrợlýảo Thứ ba từ việc xây dựng mơ hình chatbot, em xây dựng nhiều mơ hình chatbot với nhiều mục đích khác ví dụ chatbot cho hệthống thực phẩm, cho y tế hay dạy học…Tuỳ theo yêu cầu mục đích thực tiễn xây dựng hệthốngtrợlýảo đáp ứng yêu cầu người dùng Qua kết đạt được ban đầu, em nhận thấy nhiều việc phải làm, cần phải tối ưu Nhưng cách tiếp cận ban đầu cho kết tích cực đắn, giải được vấn đề xây dựng tính tốn hệ thống đối thoại Định hướng nghiêncứu tiếp theo, em tiếp tục làm mượt liệu, để tạo mơ hình có khả năng trả lời sát với ngữ cảnh, đạt chất lượng cao hơn, giảm khả năng lảng tránh đưa tính cá nhân vào đoạn hội thoại Từ áp dụng cho nhiều hệthốngtrợlýảo với yêu cầu mục đích xây dựng khác 25 ... minh ảo 1.2 Cấu trúc hệ thống trợ lý ảo Để hiểu hệ thống trợ lý ảo hoạt động nào, cần phải hiểu cấu trúc cấu tạo hệ thống trợ lý ảo Sơ đồ hệ thống trợ lý ảo: Hình 1.1: Sơ đồ hệ thống trợ lý ảo. .. Hiện giới hệ thống trợ lý ảo nghiên cứu phát triển mạnh mẽ hãng công nghệ hàng đầu giới Với mong muốn hiểu sâu trí tuệ nhân tạo, em định chọn đề tài Nghiên cứu hệ thống trợ lý thông minh ảo làm... hình hệ thống trợ lý ảo, thấy để xây dựng hệ thống trợ lý ảo cần nhiều mô đun khác ghép lại, từ đầu vào cần xử lý liệu, sau truyền vào hệ thống xử lý liệu cuối trả lại liệu cho người dùng Hệ thống