Báo cáo đồ án cơ sở 4 đề tài xây dựng hệ thống chatbot tự động

28 31 0
Báo cáo đồ án cơ sở 4 đề tài  xây dựng hệ thống chatbot tự động

Đ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

Báo cáo đồ án cơ sở 4 đề tài xây dựng hệ thống chatbot tự động Báo cáo đồ án cơ sở 4 đề tài xây dựng hệ thống chatbot tự động Báo cáo đồ án cơ sở 4 đề tài xây dựng hệ thống chatbot tự động Báo cáo đồ án cơ sở 4 đề tài xây dựng hệ thống chatbot tự động

ĐẠ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 HỆ THỐNG CHATBOT TỰ ĐỘNG LỜI MỞ ĐẦU Trong năm gần đây, khoa học công nghệ dần tiến đến tầm cao Mặc dù mẻ lĩnh vực khoa học công nghệ Chatbots nghiên cứu phát triển với tốc độ chóng mặt trung tâm nghiên cứu, trường đại học nhiều lĩnh vực ứng dụng công nghệ Chatbots hình thức thơ sơ phần mềm 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 pháp nhập văn bản, âm thanh, cảm ứng trả lời câu hỏi xử lí tình huống, cơng cụ giao tiếp, tương tác với người thơng qua trí tuệ nhân tạo lập trình sẵn Có nhiều cơng cụ thư viện hổ trợ cho Chatbots như: Dialogflow, Wit.ai, Google Natural Language, Amazon Lex Đề tài “ Xây dựng hệ thống ChatBots tự động ” chủ yếu xây dựng ngôn ngữ python LỜI CẢM ƠN Chúng em xin gửi lời cảm ơn chân thành đến cô Phan Thị Lan Anh – Giảng viên Trường Đại học Công nghệ thông tin truyền thông Việt Hàn – ĐHĐN tận tình hướng dẫn mơn đồ án sở Xin chân thành cảm ơn thầy cô Trường Đại học Công nghệ thông tin truyền thông Việt Hàn – ĐHĐN tận tình giảng dạy, truyền đạt cho chúng em kiến thức quý báu tạo điều kiện giúp đỡ suốt trình học tập Xin chân thành cảm ơn ! MỤC LỤC CHƯƠNG TỔNG QUAN 1.1 Đặt vấn đề .1 1.2 Yêu cầu chức 1.3 Mục tiêu CHƯƠNG CƠ SỞ LÍ THUYẾT 2.1 Giới thiệu trí tuệ nhân tạo .3 2.2 Chatbots 2.2.1 Khái niệm 2.2.2 Cấu tạo Chatbots .4 2.2.3 Phân loại Chatbots 2.2.4 Cách thức hoạt động .5 2.2.5 Một số tảng hộ trợ 2.2.6 Một số ứng dụng Chatbots .6 2.2.7 Xu hướng phát triển .7 2.3 Tensorflow 2.3.1 Khái niệm 2.3.2 Lịch sử đời 2.4 Intents .9 2.4.1 Khái niệm 2.4.2 Phân loại 2.5 Entities 10 2.6 Contexts 10 CHƯƠNG 3: TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG 11 3.1 Giới thiệu 11 3.2 Thiết kế hệ thống 11 3.2.1 Thiết kế sơ đồ hệ thống 11 3.2.2 Chức khối hệ thống 12 3.3 Mơ hình Neural Network 14 3.3.1 Khái niệm .14 3.3.2 Lớp input (input layer) 15 3.3.3 Lớp ẩn (hidden layer) 15 3.3.4 Lớp output (Output layer) 15 3.3.5 Sơ đồ trình hoạt động neural network 16 CHƯƠNG 4: XÂY DỰNG ỨNG DỤNG .17 4.1 Công cụ hổ trợ .17 4.1.1 Ngơn ngữ lập trình 17 4.1.2 Cơng cụ lập trình 17 4.2 Màn hình giao diện 17 KẾT LUẬN .22 TÀI LIỆU THAM KHẢO .23 CHƯƠNG TỔNG QUAN 1.1 Đặt vấn đề Trong năm gần đây, mẻ lĩnh vực khoa học công nghệ Chatbots nghiên cứu phát triển với tốc độ nhanh chóng trung tâm nghiên cứu, trường đại học học viện…với nhiều ứng dụng lĩnh vực khác như: giải trí, y tế, thương mại, tự động hóa, Kể từ chatbots phát triển mạnh mẽ vào năm 2016, nhanh chóng trở thành xu hướng công nghệ quan tâm giai đoạn Trên thực tế cho thấy, gia tăng chatbots dẫn đến dự đốn Gartner (cơng ty nghiên cứu tư vấn công nghệ thông tin hàng đầu giới, cung cấp nhìn sâu sắc liên quan đến cơng nghệ cần thiết cho khách hàng để đưa định đắn ngày) 85% tương tác khách hàng quản lý mà không cần người vào năm 2020 Chatbots phát triển dựa kết hợp kịch có trước tự học trình tương tác Ta tương tác với chatbots qua tảng tin nhắn Với câu hỏi đặt ra, Chatbots sử dụng hệ thống xử lý ngôn ngữ tự nhiên (Natural Language Processing) để phân tích liệu sau chúng lựa chọn thuật toán học máy để đưa loại phản hồi khác nhau, chúng dự đoán phản hồi xác Chatbots sử dụng nhiều hệ thống quét từ khoá bên đầu vào, sau bot khởi động hành động, kéo câu trả lời với từ khóa phù hợp trả lời thông tin từ sở liệu / API, bàn giao cho người Nếu tình chưa xảy (khơng có liệu), Chatbot bỏ qua đồng thời tự học để áp dụng cho trò chuyện sau Một yếu tố làm nên sức mạnh Chatbot khả tự học hỏi Càng sử dụng, tương tác với người dùng nhiều, tảng Chatbot “thơng minh” Chatbot thơng minh có khả tự học hỏi dựa liệu đưa vào mà khơng cần phải lập trình cụ thể (đó gọi phương pháp máy học - Machine Learning) Chính điều làm cho nhà phát triển dễ dàng tạo chương trình trị chuyện tự động hố trị chuyện với người dùng Hiện nay, Chatbots ứng dụng rộng rãi lĩnh vực đời sống người, mà phải kể đến việc giúp ích cho q trình tự động hóa quy trình chiếu sáng (đóng mở đèn tự động), tưới tiêu, quản lý thời gian, trồng, phục vụ cho nông nghiệp giúp giảm thiểu công sức, chi phí thời gian Và Tensorflow công cụ hỗ trợ mạnh cho Chatbots, giúp người dùng xây dựng hệ thống tự động tối ưu Xuất phát từ mục tiêu tiếp cận, bổ sung kiến thức mới, cố lại kỹ kiến thức suốt trình học tập trường, đồng thời nghiên cứu sâu công cụ Tensorflow ứng dụng Tensorflow cho việc tự động hóa quy trình Do đó, nhóm thực đồ án chọn đề tài: “Xây dựng hệ thống Chatbots tự động” 1.2 Yêu cầu chức  Hỏi đáp cung cấp thông tin dịch bệnh, cách phịng tránh, triệu chứng, lời khun,…  Ln online 24/24 trả lời nhanh yêu cầu người dùng  Xử lý nhiều người dùng inbox lúc mà không xảy nhầm lẫn  Hiệu tiết kiệm chi phí 1.3 Mục tiêu Mục tiêu dự kiến đạt được: Tìm hiểu xây dựng hệ thống triển khai chatbot ứng dụng vào hệ thống website để trả lời câu hỏi từ người dùng CHƯƠNG CƠ SỞ LÍ THUYẾT 2.1 Giới thiệu trí tuệ nhân tạo Ngày trí tuệ nhân tạo có mặt khắp nơi Trí tuệ nhân tạo xu hướng mà hãng công nghệ lớn hướng đến Google, Facebook, Amazon, Microsoft, Các hãng đầu tư lớn vào trí tuệ nhân tạo nhắm tạo sản phẩm phục vụ cho lợi ích người Trí tuệ nhân tạo trí tuệ biểu diễn hệ thống nhân tạo Thuật ngữ thường dùng để nói đến máy tính có mục đích khơng định ngành khoa học nghiên cứu lý thuyết ứng dụng trí tuệ nhân tạo Nó liên quan đến việc cư xử, học hỏi, khả thích ứng thơng minh máy móc Bellman (1978) định nghĩa: trí tuệ nhân tạo tự động hố hoạt động phù hợp với suy nghĩ người, chẳng hạn hoạt động định, giải tốn, … Rich anh Knight (1991) cho rằng: Trí tuệ nhân tạo khoa học nghiên cứu xem làm để máy tính thực cơng việc mà người cịn làm tốt máy tính Mỗi khái niệm, định nghĩa có điểm riêng, để đơn giản hiểu trí tuệ nhân tạo ngành khoa học máy tính Nó xây dựng tảng lý thuyết vững ứng dụng việc tự động hóa hành vi thơng minh máy tính Giúp máy tính có trí tuệ người như: biết suy nghĩ lập luận để giải vấn đề, biết giao tiếp hiểu ngôn ngữ, tiếng nói, biết học tự thích nghi Nó thứ giúp ta sử dụng để trả lời tin nhắn tự động, học cách lái xe, lái máy bay để ngồi quan sát khơng cần phải điểu khiển, xếp lại ảnh chuyến chơi khác vào album riêng biệt, chí AI cịn giúp quản lí nhà vắng mua sắm 2.2 Chatbots 2.2.1 Khái niệm Chatbot hình thức thơ sơ phần mềm 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 pháp nhập văn bản, âm thanh, cảm ứng trả lời câu hỏi xử lý tình huống, cơng cụ giao tiếp, tương tác với người thơng qua trí tuệ nhân tạo lập trình sẵn Trong đa số trường hợp chatbot sử dụng qua ứng dụng nhắn tin để nói chuyện với người Nó có khả trả lời câu hỏi mà người dùng để ra, thơng thường lúc ban đầu dựa vào từ khóa câu hỏi người dùng để trả lời dân dần học hỏi thêm từ trải nghiệm người dùng làm trò chuyện tiếp xúc với người trở nên cá nhân hơn, giống thật Ví dụ 1: Nếu bạn muốn nhắn tin để tìm kiếm thơng tin sản phẩm cửa hàng công ty tạo Chatbot, bạn việc nhập vào từ khố, chúng tìm kết thông tin sản phẩm cho bạn Đôi thuật ngữ “Chatbot” sử dụng để trợ lý ảo nói chung cụ thể chương trình máy tính trả lời tự động tảng tin nhắn (Messaging Platform) Ví dụ 2: Nếu bạn hỏi “trợ lý ảo” Siri Apple hay Cortana Microsoft vấn đề như: “Thời tiết hơm nào?”, bạn làm việc với ChatBot 2.2.2 Cấu tạo Chatbots Cấu tạo Chatbot gồm có ba phần bao gồm: sở liệu, lớp ứng dụng, quyền truy cập vào API giao diện đồ họa người dùng Nhờ thành phần mà hoạt động - Cơ sở liệu: Cơ sở liệu lưu trữ thông tin, liệu nội dung - Tầng ứng dụng: Các giao thức tầng ứng dụng thường dùng để trao đổi liệu chương trình chạy máy nguồn máy đích Tầng đóng vai trị cửa sổ dành cho hoạt động xử lý trình ứng dụng, biểu diễn dịch vụ hỗ trợ trực tiếp ứng dụng người dùng, chẳng hạn phần mềm chuyển tin, truy nhập sở liệu email, v.v… - Giao diện lập trình ứng dụng (API): giao diện mà hệ thống máy tính hay ứng dụng cung cấp phép yêu cầu dịch vụ tạo từ chương trình máy tính khác, và/hoặc cho phép liệu trao đổi qua lại chúng.  2.2.3 Phân loại Chatbots Có loại Chatbot chính: - Chatbot viết kịch (Scripted chatbot): Đây ChatBot có hành vi xác định quy tắc Tại bước trò chuyện, người dùng cần chọn tùy chọn rõ ràng để xác định bước trị chuyện Các cách tùy chọn trình bày cho người dùng bước hội thoại, tức liệu họ cần phản hồi văn bản, giọng nói cảm ứng phụ thuộc vào tính tảng trị chuyện mà người dùng sử dụng thiết kế Chatbot - Chatbot thông minh (Intelligent Chatbot): Chatbot thông minh Chatbot xây dựng với kỹ thuật nhân tạo trí thơng minh Trí tuệ nhân tạo (AI) cho phép chúng cải thiện linh hoạt đầu vào người dùng mà chúng thu nhận Chúng thu nhận đầu vào dạng tự hình thức trình bày văn giọng nói không giới hạn dạng đầu vào khác có ý nghĩa.Ví dụ: Khi bạn muốn mua quần áo, Bot tự đông hỏi bạn danh sách câu hỏi phong cách quần áo ưa thích bạn đưa mẫu gợi ý giá mặt hàng 2.2.4 Cách thức hoạt động Chatbot kết hợp kịch có trước tự học trình tương tác Ta tương tác với Chatbot qua tảng tin nhắn Với câu hỏi đặt ra, Chatbot sử dụng hệ thống xử lý ngôn ngữ tự nhiên (Natural Language Processing) để phân tích liệu sau chúng lựa chọn thuật toán học máy để đưa loại phản hồi khác nhau, chúng dự đoán phản hồi xác Chatbot sử dụng nhiều hệ thống quét từ khoá bên đầu vào, sau bot khởi động hành động, kéo câu trả lời với từ khóa phù hợp trả lời thông tin từ sở liệu / API, bàn giao cho người Nếu tình chưa xảy (khơng có liệu), Chatbot bỏ qua đồng thời tự học để áp dụng cho trò chuyện sau Một yếu tố làm nên sức mạnh Chatbot khả tự học hỏi Càng sử dụng, tương tác với người dùng nhiều, tảng Chatbot “thơng minh” Chatbot thơng minh có khả tự học hỏi dựa liệu đưa vào mà khơng cần phải lập trình cụ thể (đó gọi phương pháp máy học - Machine Learning) Chính điều làm cho nhà phát triển dễ dàng tạo chương trình trị chuyện tự động hố trị chuyện với người dùng Để biết thêm chi tiết ý tưởng khái niệm đằng sau Chatbot ta xem sơ đồ trình sau: Cách thức hoạt động Chatbots  Đơn vị xử lý Tensor (TPU) Vào tháng 5/2016, Google công bố một ASIC tùy chỉnh họ xây dựng đặc biệt cho máy học dành riêng cho TensorFlow Họ tiết lộ họ vận hành TPU bên Trung tâm liệu họ năm, tìm cách để tạo ra hiệu suất watt tối ưu hóa tốt theo hàm mũ 10 dành cho máy học. TPU máy tăng tốc AI có thể lập trình tập trung vào số lượng lớn thuật tốn có mức xác thấp (ví dụ: bit); có khả ứng dụng nhiều mơ hình ('suy luận') thực tế không huấn luyện chúng 2.4 Intents 2.4.1 Khái niệm Intent ý định người dùng cuối, ý định chuyển tải người dùng tới bot Người dùng chủ yếu đặt ý định vào nhóm chính: Các ý định ngẫu nhiên: casual intents ý định nghiệp vụ: business intents.  2.4.2 Phân loại 2.4.2.1 Ý định ngẫu nhiên – Casual Intents Đây ý định mở đầu kết thúc hội thoại Ví dụ lời chào như: hi, hello, hallo, ciao, hay bye câu lệnh mở đầu kết thúc hội thoại Những ý định hướng bot người dùng phản hồi câu trả lời gợi ý như: “Xin chào, tơi giúp cho bạn?” hay “Tạm biệt, cảm ơn trị chuyện với tôi” Các ý định ngẫu nhiên bao gồm ý định Khẳng định - Affirmative Phủ định - Negative cho câu nói như: “Ok”, “vâng”, “Không, này.”Bằng ý định chung chung, Casual Intents bot xử lý tất tương tác với người dùng thay phải đưa câu chuyện vào trò chuyện với bot 2.4.2.2 Ý định nghiệp vụ - Business Intents Đây ý định kết nối trực tiếp với ý đồ ban đầu bot xây dựng, nghĩa bot cần phải hỗ trợ xử lý ý định người dùng cuối họ truy cập vào website Nó tập trung vào việc xử lý vấn đề chuyên sâu cần có thời gian xử lý thực u cầu cụ thể Ví dụ, người dùng bắt đầu câu: “Khi Avengers phát hành?”, bot xác định ý định người dùng lúc cần biết thông tin đối tượng, mà cụ thể phim Đây ý định nghiệp vụ (Business Intents), bot lúc phải tìm năm phát hành phim đồng thời gắn nhãn câu hỏi theo tên hiểu được, giống như:“GetReleaseYearByTile” để sau tiến hành xử lý thông tin tiếp tục tương tác với người dùng 2.5 Entities  Entities công cụ mạnh mẽ sử dụng để trích xuất giá trị tham số từ ngôn ngữ tự nhiên Bất kỳ mà người dùng muốn biết từ nội dung có ENTITY tương ứng Ví dụ: Trong câu nói: “Thứ này, Trung bay từ Hà Nội đến Đà Nẵng thay ngày mai Ví dụ trên, “Ngày mai” hay “Thứ này” có entity tương ứng “Thời gian” Hà Nội, Đà Nẵng,…entity tương ứng “Vị trí” Có loại Entities (thực thể): hệ thống (được xác định Dialogflow), nhà phát triển (được xác định nhà phát triển) người dùng (được xây dựng cho cá nhân người dùng cuối yêu cầu) thực thể Mỗi số phân loại ánh xạ (có giá trị tham chiếu), enum (khơng có giá trị tham chiếu) hỗn hợp (chứa thực thể khác có tên gọi đặc trưng giá trị kiểu đối tượng trả về) 2.6 Contexts Contexts có nghĩa bối cảnh, ngữ cảnh, phạm vi Lấy ví dụ Chatbot, người dùng vừa hỏi “Thời tiết Hà Nội” nhận câu trả lời, họ đặt tiếp thêm câu hỏi “Vậy Đà Nẵng nào?”, trường hợp khơng có context Chatbot hiểu người dùng hỏi vấn đề liên quan đến Đà Nẵng, cịn trường hợp có context Chatbot biết người dùng hỏi tiếp thời tiết Đà Nẵng 10 CHƯƠNG 3: TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG 3.1 Giới thiệu Nhiệm vụ chương trình thiết kế mơ hình tương tác người với máy đồng thời thông qua hệ thống chatbots, thực phản hồi lại yêu cầu người dùng thống Như chương nhóm thực nội dung: tính toán, thiết kế cho hệ 3.2 Thiết kế hệ thống 3.2.1 Thiết kế sơ đồ hệ thống Với mục tiêu xây dựng mơ hình tương tác người máy thông qua hệ thống chatbots tự động, hệ thống chia thành phần chính: Truyền liệu thơng tin, Xử lí liệu thơng tin qua tensorflow Sơ đồ hệ thống chatbots tự động 11 Sơ đồ Use case 3.2.2 Chức khối hệ thống a Khối truyền liệu thơng tin Sơ đồ q trình truyền nhận, liệu thông tin Khối truyền liệu, thông tin nhằm gửi thông tin người dùng đến hệ thống nhận phản hồi từ hệ thống đến người dùng, gồm khối người dùng, Dữ liệu đầu vào, Tín hiệu đầu  Khối người dùng (User): 12 Liệt kê đưa yêu cầu cần hệ thống máy thực đồng thời lựa chọn từ khóa phù hợp, cụ thể để hệ thống máy xử lý thơng tin xác u cầu cụ thể, rõ ràng mức độ phản hồi xác cao nhanh  Khối liệu đầu vào (Input): Sau có thơng tin từ người dùng, khối đầu vào gửi yêu cầu từ người dùng đến hệ thống máy thông qua ngõ vào nhập liệu từ bàn phím, sau tất yêu cầu tổng hợp gửi đến khối truy vấn liệu Tensorflow  Khơi tín hiệu đầu (Output): Dữ liệu sau xử lí từ hệ thống gửi đến khối tín hiệu đầu để phản hồi cho người dùng b Khối xử lý liệu, thông tin thông qua Tensorflow Sơ đồ q trình xử lí liệu thơng qua Tensorflow Khối xử lý liệu, thông tin xư lý ngơn ngữ tự nhiên trở thành ngơn ngữ máy sau phân loại ý định cụ thể người dùng, bao gồm khối: truy vấn (query), ý định (Intent), thao tác liệu (Actionable Data)  Khối truy vấn (query): Xử lí yêu cầu dạng ngôn ngữ tự nhiên thành ngôn ngữ máy thao tác sử dụng kỹ thuật học máy sâu để giải vấn đề Các yêu cầu truy vấn sau trả liệu có cấu trúc định dạng JSON với hành động xác định tham số hành động  Khối ý định (Intent): 13 Chưa tham số, ý định xác định cụ thể thông qua việc đào tạo huấn luyện cụm từ cho hệ thống gọi Tranning Phases Kết sau huấn luyện lưu lại để đánh giá sử dụng Khối ý định nhận liệu từ khối truy vấn chứa yêu cầu, ý định người dùng cuối đem so sánh, tìm điểm tương đồng với tham số, ý định cài đặt trước hệ thống từ nhận dạng, hiểu yêu cầu người dùng đồng thời xuất tham số, liệu để gửi đến khối khác, tùy thuộc vào kiểu ý định người dùng  Khối thao tác liệu (Actionable Data) Nhận tham số, dư liệu từ khối ý định xử lí thành dạng liệu thao tác được, sau chuyển liệu đến thiết bị đầu 3.3 Mô hình Neural Network 3.3.1 Khái niệm Neural là mơ hình tốn học mô biểu cho số chức nơron thần kinh não người (Xem hình bên dưới) nơron thần kinh Neural Network: là tập hợp nhiều Neural, các tập hợp này tạo thành cấu trúc hệ thống gồm lớp mà ta gọi các layer. Trong đó, ta thấy một Neural Network đơn (Simple Neural Network) hay đơn vị Neural Network thường có lớp: Input layer (lớp đầu vào), Hidden layer (lớp ẩn) và Output layer (lớp đầu ra).  14 Mơ hình neural network 3.3.2 Lớp input (input layer) Từ đoạn text truyền vào chia thành từ Từ từ duyệt qua liệu traning trước chatbot, đánh dấu vị trí xuất số lần xuất từ 3.3.3 Lớp ẩn (hidden layer) Lớp ẩn lớp đặt input output thuật toán Các lớp ẩn thực phép biến đổi phi tuyến input đưa vào 3.3.4 Lớp output (Output layer) Lớp output lớp chứa tag chứa câu hỏi câu trả lời liệu training chatbot 15

Ngày đăng: 12/06/2023, 11:46

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

Tài liệu liên quan