Xây dựng hệ thống mạng xã hội kết nối người yêu thích nấu ăn (báo cáo cuối kì đồ án 2)

111 8 0
Xây dựng hệ thống mạng xã hội kết nối người yêu thích nấu ăn (báo cáo cuối kì đồ án 2)

Đ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 QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM LÊ NHỊ KHANG VÕ ĐỒN MINH HIẾU KHĨA LUẬN TỐT NGHIỆP XÂY DỰNG HỆ THỐNG MẠNG XÃ HỘI KẾT NỐI NGƯỜI YÊU THÍCH NẤU ĂN Building social network connecting food lovers KỸ SƯ NGÀNH CÔNG NGHỆ PHẦN MỀM TP HỒ CHÍ MINH, 2022 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM LÊ NHỊ KHANG – 18520888 VÕ ĐOÀN MINH HIẾU - 18520757 KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG HỆ THỐNG MẠNG XÃ HỘI KẾT NỐI NGƯỜI YÊU THÍCH NẤU ĂN Building social network connecting food lovers KỸ SƯ NGÀNH CÔNG NGHỆ PHẦN MỀM GIẢNG VIÊN HƯỚNG DẪN TS HUỲNH NGỌC TÍN TP HỒ CHÍ MINH, 2022 THƠNG TIN HỘI ĐỒNG CHẤM KHÓA LUẬN TỐT NGHIỆP Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số …………………… ngày ………………… Hiệu trưởng Trường Đại học Công nghệ Thông tin – Chủ tịch – Thư ký – Ủy viên – Ủy viên ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc CÔNG NGHỆ THÔNG TIN TP HCM, ngày… tháng… năm 2022 NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP (CỦA CÁN BỘ HƯỚNG DẪN) Tên khóa luận: XÂY DỰNG HỆ THỐNG MẠNG XÃ HỘI KẾT NỐI NGƯỜI YÊU THÍCH NẤU ĂN Cán hướng dẫn: Nhóm SV thực hiện: Lê Nhị Khang 18520888 Võ Đoàn Minh Hiếu 18520757 TS Huỳnh Ngọc Tín Đánh giá Khóa luận Về báo cáo: Số trang Số chương Số bảng số liệu Số hình vẽ Số tài liệu tham khảo Sản phẩm Một số nhận xét hình thức báo cáo: Về nội dung nghiên cứu: Về chương trình ứng dụng: Về thái độ làm việc sinh viên: Đánh giá chung: Điểm sinh viên: Lê Nhị Khang:……… /10 Võ Đoàn Minh Hiếu:……… /10 Người nhận xét (Ký tên ghi rõ họ tên) ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc CÔNG NGHỆ THÔNG TIN TP HCM, ngày… tháng… năm 2022 NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP (CỦA CÁN BỘ PHẢN BIỆN) Tên khóa luận: XÂY DỰNG HỆ THỐNG MẠNG XÃ HỘI KẾT NỐI NGƯỜI YÊU THÍCH NẤU ĂN Nhóm SV thực hiện: Cán phản biện: Lê Nhị Khang 18520888 Võ Đoàn Minh Hiếu 18520757 Đánh giá Khóa luận Về báo cáo: Số trang Số chương Số bảng số liệu Số hình vẽ Số tài liệu tham khảo Sản phẩm Một số nhận xét hình thức báo cáo: Về nội dung nghiên cứu: Về chương trình ứng dụng: Về thái độ làm việc sinh viên: Đánh giá chung: Điểm sinh viên: Lê Nhị Khang:……… /10 Võ Đoàn Minh Hiếu:……… /10 Người nhận xét (Ký tên ghi rõ họ tên) LỜI CẢM ƠN Trong suốt năm theo học khoa Công nghệ phần mềm trường Đại học Cơng nghệ Thơng tin Chúng em tìm tòi trang bị nhiều kiến thức việc sử dụng công nghệ cốt lõi lập trình kỹ thực tế để hồn thành Khóa luận tốt nghiệp Em xin gửi lời cảm ơn chân thành đến q thầy cơ, đặc biệt thầy Huỳnh Ngọc Tín hướng dẫn tận tình, đóng góp ý kiến để chúng em hồn thành khóa luận tốt nghiệp cách tốt Trong q trình làm khóa luận nhóm khơng tránh khỏi sai sót, mong quý thầy cô lỗi sai để nhóm rút kinh nghiệm cho thân hồn thiện dự án sau Em xin chân thành cảm ơn Xin gửi tới người lời chúc sức khỏe tốt đẹp có nhiều niềm vui hạnh phúc sống mặt nghiệp, gia đình mối quan hệ TP Hồ Chí Minh, 15 tháng năm 2022 LÊ NHỊ KHANG VÕ ĐOÀN MINH HIẾU MỤC LỤC Chương TỔNG QUAN ĐỀ TÀI .2 1.1 Dẫn nhập 1.2 Mục tiêu 1.3 Phạm vi nghiên cứu .3 1.4 Nội dung thực 1.5 Kết mong đợi 1.6 Bố cục báo cáo .4 1.7 Kết chương Chương MỘT SỐ NGHIÊN CỨU VÀ ỨNG DỤNG LIÊN QUAN 2.1 Mở đầu 2.2 Tổng quan 2.3 Cookpad 2.4 Cooky 2.5 Kết chương Chương PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 3.1 Mở đầu 3.2 Sơ đồ use case 3.2.1 Sơ đồ use case tổng quan 3.2.2 Danh sách actors 10 3.2.3 Danh sách use case 10 3.2.4 Đặc tả use case 11 3.2.4.1 Use case đăng nhập 11 3.2.4.2 Use case đăng ký 11 3.2.4.3 Use case quản lý viết .12 3.2.4.4 Use case tương tác viết 14 3.2.4.5 Use case theo dõi người dùng khác .16 3.2.4.6 Use case quản lý công thức nấu ăn 17 3.2.4.7 Use case chat với chatbot .19 3.2.4.8 Use case cập nhật thông tin cá nhân 19 3.3 Thiết kế liệu 20 3.3.1 Sơ đồ lớp tổng quát 20 3.3.2 Mô tả sơ đồ lớp 21 3.3.2.1 Mô tả Users Collection 22 3.3.2.2 Mô tả Recipes Collection .23 3.3.2.3 Mô tả Posts Collection 25 3.3.2.4 Mô tả Comments Collection 26 3.3.2.5 Mô tả Products Collection .26 3.3.2.6 Mô tả RecipeLikes Collection .27 3.3.2.7 Mô tả RecipeCooks Collection 28 3.3.2.8 Mô tả Ratings Collection .28 3.3.2.9 Mô tả PostReactions Collection 29 3.3.2.10 Mô tả CommentReactions Collection 29 3.3.2.11 Mô tả ProductTypes Collection 30 3.3.2.12 Mô tả Units Collection .30 3.3.2.13 Mô tả Ingredients Collection .30 3.3.2.14 Mô tả SpecialGoals Collection 30 3.3.2.15 Mô tả MenuTypes Collection 31 hệ thống, giúp chatbot phản hồi nhanh chóng đến người dùng NLU kỹ thuật nâng cao NLP NLU thường sử dụng cho chatbot nhận diện giọng nói Các cơng ty, tập đồn cơng nghệ hàng đầu giới đầu việc ứng dụng NLU vào trình hình thành công nghệ AI đầu tiên, cha đẻ Chatbot Alexa Amazon, Siri Apple, Google’s Assistant Google Cortana Microsoft Hình 0.4: Hệ thống chatbot sử dụng phương pháp NLU NLU giúp giải vấn đề mà công nghệ AI gặp phải không riêng chatbot làm để xử lý liệu đầu vào khơng có cấu trúc cụ thể, khơng có định dạng rõ ràng, khơng có thuật tốn, quy tắc quản lý chặt chẽ Với phương pháp NLU, hệ thống hiểu liệu đầu vào tương tác lại với người cách dễ dàng NLU việc hiểu giải thích từ ngữ thơng thường, NLU có khả hiểu ý nghĩa người dùng kể trường hợp lỗi phổ biến phát âm sai khơng văn phạm, tả Các vấn đề phát triển chatbot Các hệ thống chatbot giao tiếp với người giọng nói (như Siri) văn (như chatbot phát triển Facebook Messenger) Dù giao tiếp hình thức nào, chatbot cần phải hiểu văn để đưa 80 câu trả lời phù hợp cho khách hàng Thành phần đảm nhiệm công việc hệ thống chatbot gọi NLU (Natural Language Understanding) Cùng với nhiều kĩ thuật xử lý ngôn ngữ tự nhiên (Natural Language Processing, viết tắt NLP) áp dụng để hiểu yêu cầu đưa phản hồi phù hợp Các hệ thống chatbot triển khai thực tế phần lớn tn theo mơ hình truy xuất thơng tin áp dụng miền ứng dụng định (miền ứng dụng đóng) Mơ hình truy xuất thơng tin mơ hình đó, chatbot đưa phản hồi chuẩn bị trước tuân theo mô thức định Bởi tập trung phân tích ba vấn đề xử lý ngơn ngữ tự nhiên phát triển hệ thống chatbot miền ứng dụng đóng theo mơ hình truy xuất thơng tin : • Xác định/Phân loại ý định người dùng (intent classification hay intent detection) • Trích xuất thơng tin (information extraction) • Quản lý hội thoại (Dialog management) ❖ Xác định/Phân loại ý định người dùng Thông thường, người dùng thường truy cập hệ thống chatbot với mong muốn hệ thống đưa hành động trợ giúp vấn đề Ví dụ, người dùng hệ thống chatbot hỗ trợ đặt vé máy bay đưa yêu cầu đặt vé bắt đầu hội thoại Để đưa hỗ trợ xác, chatbot cần xác định ý định (intent) người dùng Việc xác định ý định người dùng định hội thoại người chatbot diễn Vì thế, xác định sai ý định người dùng, chatbot đưa phản hồi khơng đúng, khơng hợp ngữ cảnh Khi đó, người dùng thấy khó chịu khơng quay lại sử dụng hệ thống Vì tốn xác định ý định người dùng đóng vai trị quan trọng hệ thống chatbot 81 Đối với miền ứng dụng đóng, giới hạn số lượng ý định người dùng nằm tập hữu hạn intent định nghĩa sẵn, có liên quan đến nghiệp vụ doanh nghiệp mà chatbot hỗ trợ Với giới hạn này, tốn xác định ý định người dùng quy toán phân lớp văn Với đầu vào câu giao tiếp người dùng, hệ thống phân lớp xác định intent tương ứng với câu tập intent định nghĩa Để xây dựng mơ hình phân lớp ý định, cần tập liệu huấn luyện bao gồm cách diễn đạt khác cho intent Ví dụ, mục đích hỏi thời tiết Hà Nội ngày hơm nay, người dùng dùng cách diễn đạt sau: • Thời tiết hơm Hà Nội ad? • Hà Nội hơm có mưa khơng vậy? • Hà Nội hơm độ vậy? • Cho hỏi, ngồi đường hơm có phải mang áo mưa khơng? Có thể nói, bước tạo liệu huấn luyện cho tốn phân lớp ý định cơng việc quan trọng phát triển hệ thống chatbot ảnh hưởng lớn tới chất lượng sản phẩm hệ thống chatbot sau Cơng việc địi hỏi thời gian, công sức lớn nhà phát triển chatbot Mơ hình học máy cho tốn phân lớp ý định người dùng Khi có liệu huấn luyện cho toán phân lớp ý định, mơ hình tốn thành tốn phân lớp văn Bài toán phân lớp văn (text categorization) toán kinh điển ngành NLP khai phá văn (Text Mining) Mơ hình phân lớp văn cho toán phân lớp ý định phát biểu cách hình thức sau: Chúng ta cho trước tập huấn luyện bao gồm cặp (câu hội thoại, 𝟐 intent), 𝐃 = {(𝐱 (𝟏) , 𝐲 (𝟏) ), … , (𝐱 (𝐧) , 𝐲 (𝐧 ) ) }, 𝐱 (𝐢) câu hội thoại 𝐲 (𝐢) intent tương ứng cho 𝐱 (𝐢) Các intent 𝐲 (𝐢) nằm tập hữu hạn 𝑲 82 intent định nghĩa trước Chúng ta cần học từ tập huấn luyện mơ hình phân lớp 𝚯 có chức phân lớp câu hội thoại vào intent thuộc tập K Kiến trúc hệ thống phân lớp intent minh hoạ hình sau Hình 0.5: Kiến trúc hệ thống phân lớp ý định Hệ thống phân lớp intent có số thành phần bản: • Tiền xử lý liệu • Trích xuất đặc trưng • Huấn luyện mơ hình • Phân lớp Trong bước tiền xử lý liệu, thực thao tác “làm sạch” liệu như: loại bỏ thông tin dư thừa, chuẩn hố liệu chuyển từ viết sai tả thành tả, chuẩn hố từ viết tắt,… Việc tiền xử lý liệu có vai trị quan trọng hệ thống chatbot đặc thù ngơn ngữ chat, nói: viết tắt, sai tả, hay dùng “teencode” Sau tiền xử lý liệu thu liệu làm sạch, trích xuất đặc trưng từ liệu Trong học máy, bước gọi trích xuất đặc trưng (feature extraction hay feature engineering) Trong mơ hình học máy truyền thống (trước mơ hình học sâu áp dụng rộng rãi), bước trích xuất đặc trưng ảnh hưởng lớn đến độ xác mơ hình phân lớp Để 83 trích xuất đặc trưng tốt, cần phân tích liệu tỉ mỉ cần tri thức chuyên gia miền ứng dụng cụ thể Bước huấn luyện mô hình nhận đầu vào đặc trưng trích xuất áp dụng thuật tốn học máy để học mơ hình phân lớp Các mơ hình phân lớp luật phân lớp (nếu sử dụng decision tree) vector trọng số tương ứng với đặc trưng trích xuất (như mơ hình logistic regression, SVM, hay mạng Neural) Sau có mơ hình phân lớp intent, sử dụng để phân lớp câu hội thoại Câu hội thoại qua bước tiền xử lý trích xuất đặc trưng, sau mơ hình phân lớp xác định “điểm số” cho intent tập intent đưa intent có điểm cao Mơ hình dựa đối sánh nội dung Mơ hình phân lớp ý định dựa học máy thống kê yêu cầu liệu huấn luyện bao gồm cách diễn đạt khác cho intent Dữ liệu huấn luyện thông thường chuẩn bị cách thủ công Bước chuẩn bị liệu tốn nhiều thời gian công sức, đặc biệt ứng dụng mà số lượng intent tương đối lớn Một cách tiếp cận giảm cơng sức chuẩn bị liệu huấn luyện sử dụng mơ hình đối sánh thơng tin (content matching) Trong cách tiếp cận này, cần chuẩn bị liệu, intent có câu hỏi tương ứng Với câu hội thoại cho trước, áp dụng thuật tốn đối sánh thơng tin để đối sánh với câu hỏi tập liệu Sau đưa câu trả lời cho câu hỏi có nội dung gần với câu đầu vào Phương pháp đối sánh thơng tin thích hợp cho hệ thống chatbot phục vụ cho công việc trả lời câu hỏi thường gặp (FAQ) Chúng ta tận dụng liệu FAQ sẵn có để tạo FAQ chatbot phương pháp đối sánh nội dung mà không cần tạo liệu huấn luyện mơ hình học máy thống kê 84 Một thách thức mơ hình đối sánh nội dung việc xử lý cách diễn đạt khác cho câu hỏi yêu cầu luật phải chuẩn bị tay Vì số lượng mẫu cho intent khơng nhiều, mơ hình đối sánh phải sử dụng luật tài nguyên ngữ nghĩa để xử lý biến thể khác diễn đạt từ, cụm từ, hay ý câu Ví dụ khách hàng cơng ty viễn thơng thường hỏi tình trạng mạng chậm với cách biểu đạt khác “Ad ơi, mạng nhà em dạo chậm thế?”, “Mạng lag lắm, dùng” Nếu dùng mơ hình đối sánh thơng tin, hệ thống cần nhận từ “chậm” “lag” (ngôn ngữ dùng mạng) mang ý nghĩa Mơ hình lai Mơ hình lai (hybrid model) mơ hình kết hợp nhiều mơ hình khác mơ hình học máy, mơ hình đối sánh nội dung đặc biệt kỹ thuật tiến AI Mơ hình lai khắc phục nhược điểm tính đa nghĩa phong phú diễn đạt ngôn ngữ tự nhiên phương pháp đối sáng nội dung, giảm chi phí cho chuẩn bị liệu huấn luyện học máy ❖ Trích xuất thơng tin Bên cạnh việc xác định intent câu hội thoại người dùng, cần trích xuất thơng tin cần thiết Các thơng tin cần trích xuất câu hội thoại thường thực thể thuộc loại Ví dụ, khách hàng muốn đặt vé máy bay, hệ thống cần biết thời gian, địa điểm,…Thành phần NLU hệ thống chatbot thường hỗ trợ loại thực thể sau: • Vị trí (Location) • Thời gian (Datetime) • Số (Number) • Địa liên lạc (Contact) • Khoảng cách (Distance) • Khoảng thời gian (Duration) 85 Đầu vào module trích xuất thơng tin câu hội thoại Module trích xuất thơng tin cần xác định vị trí thực thể câu (vị trí bắt đầu vị trí kết thúc thực thể), loại thực thể, Cách tiếp cận phổ biến cho tốn trích xuất thơng tin mơ hình hố tốn thành tốn gán nhãn chuối (sequence labeling) Đầu vào toán gán nhãn chuỗi dãy từ, đầu dãy nhãn tương ứng các từ đầu vào Chúng ta sử dụng mơ hình học máy để học mơ hình gán nhãn từ tập liệu đầu vào bao gồm cặp (𝒙𝟏 … 𝒙𝒏 , 𝒚𝟏 … 𝒚𝒏 ), 𝒙𝟏 … 𝒙𝒏 dãy từ, 𝒚𝟏 … 𝒚𝒏 dãy nhãn Độ dài dãy từ tập liệu khác Trong tốn trích xuất thơng tin, tập nhãn cho từ câu đầu vào thường tạo theo mơ hình BIO, với B viết tắt "Beginning", I viết tắt "Inside", 𝐎 viết tắt "Outside" Khi biết vị trí từ bắt đầu thực thể từ nằm thực thể đó, xác định vị trí thực thể câu Thuật tốn huấn luyện mơ hình gán nhãn chuỗi phổ biến mơ hình Markov ẩn (HMM Hidden Markov Models), mơ hình CRF (Conditional Random Fields) Với liệu văn bản, mơ hình CRF thường cho kết tốt mơ hình HMM Có nhiều công cụ mã nguồn mở cài đặt mơ hình CRF cho tốn gán nhãn chuối CRF++, CRF Suite, Mallet, … Gần đây, mơ hình mạng neural hồi quy (Recurrent Neural Networks) áp dụng nhiều cho tốn gán nhãn chuỗi Mơ hình mạng neural hồi quy tỏ hiệu với liệu dạng chuỗi mơ hình mối quan hệ phụ thuộc từ câu Ví dụ, mạng neural hồi quy áp dụng cho toán gán nhãn từ loại (POS Tagging), toán xác định thực thể tên gọi ❖ Quản lý hội thoại 86 Trong trình trao đổi dài (long conversation) người chatbot, chatbot cần ghi nhớ thông tin ngữ cảnh (context) hay quản lý trạng thái hội thoại (dialog state) Vấn đề quản lý hội thoại quan trọng để đảm bảo việc trao đổi người máy thông suốt Chức thành phần quản lý hội thoại nhận đầu vào từ thành phần NLU, quản lý trạng thái hội thoại (dialogue state), ngữ cảnh hội thoại (dialogue context), truyền đầu cho thành phần sinh ngôn ngữ (Natural Language Generation, viết tắt NLG) Ví dụ module quản lý dialogue chatbot phục vụ đặt vé máy bay cần biết người dùng cung cấp đủ thông tin cho việc đặt vé để tạo vé tới hệ thống cần phải xác nhận lại thông tin người dùng đưa vào Hiện nay, sản phẩm chatbot thường dùng mơ hình máy trạng thái hữu hạn (Finite State Automata – FSA), mơ hình Frame-based (Slot Filling), kết hợp hai mơ hình Hình 0.6: Minh họa quản lý hội thoại theo mơ hình FSA 87 Mơ hình FSA: mơ hình quản lý hội thoại đơn giản Ví dụ, tưởng tượng hệ thống chăm sóc khách hàng công ty viễn thông, phục vụ cho khách hàng than phiền vấn đề mạng chậm Nhiệm vụ chatbot hỏi tên khách hàng, số điện thoại, tên gói Internet khách hàng dùng, tốc độ Internet thực tế khách hàng Hình minh hoạ mơ hình quản lý hội thoại cho chatbot chăm sóc khách hàng Các trạng thái FSA tương ứng với câu hỏi mà quản lý hội thoại hỏi người dùng Các cung nối trạng thái tương ứng với hành động chatbot thực Các hành động phụ thuộc phản hồi người dùng cho câu hỏi Trong mơ hình FSA, chatbot phía định hướng người sử dụng hội thoại Ưu điểm mơ hình FSA đơn giản chatbot định trước dạng câu trả lời mong muốn từ phía người dùng Tuy nhiên, mơ hình FSA không thực phù hợp cho hệ thống chatbot phức tạp người dùng đưa nhiều thông tin khác câu hội thoại Trong ví dụ chatbot trên, người dùng đồng thời cung cấp tên số điện thoại, chatbot tiếp tục hỏi số điện thoại, người dùng cảm thấy khó chịu Mơ hình Frame-based: Với mơ hình giải vấn đề mà mơ hình FSA gặp phải Mơ hình Frame-based dựa frame định sẵn để định hướng hội thoại Mỗi frame bao gồm thông tin (slot) cần điền câu hỏi tương ứng mà dialogue manager hỏi người dùng Mơ hình cho phép người dùng điền thơng tin vào nhiều slot khác frame Hình 0.7: Frame đối thoại thơng tin khách hàng (tình mạng chậm) 88 Thành phần quản lý hội thoại theo mơ hình Frame-based đưa câu hỏi cho khách hàng, điền thông tin vào slot dựa thông tin khách hàng cung cấp có đủ thông tin cần thiết Khi người dùng trả lời nhiều câu hỏi lúc, hệ thống phải điền vào slot tương ứng ghi nhớ để không hỏi lại câu hỏi có câu trả lời Trong miền ứng dụng phức tạp, hội thoại có nhiều frame khác Vấn đề đặt cho người phát triển chatbot để biết cần chuyển đổi frame Cách tiếp cận thường dùng để quản lý việc chuyển điều khiển frame định nghĩa luật Các luật dựa số thành tố câu hội thoại câu hỏi gần mà người dùng đưa 89 PHỤ LỤC 4: RASA FRAMEWORK Rasa ? Rasa cơng cụ để xây dựng AI chatbots ngôn ngữ python natural language understanding (NLU: Hiểu ngôn ngữ tự nhiên) Rasa cung cấp framework để phát triển AI chatbots Rasa cho phép người sử dụng train model thêm hành động cụ thể Những chatbot làm từ rasa chạy tảng messsenger, slack, telegram Một số đặc điểm ? • Rasa có tính mở rộng sử dụng pipeline riêng biệt spaCy duckling để mở rộng chatbot • Rasa hoạt động tốt mạnh mẽ, đặc biệt vấn đề xác định ý định người dùng (intent) đối tượng nhắc đến câu (entity) dù liệu bạn thu thập cung cấp cho rasa vơ Kết hợp với action để đưa câu trả lời thích hợp khơng trả lời sách cố đinh • Mã nguồn Rasa mã nguồn mở, Rasa giúp bạn biết xác bạn làm với chatbot mình, chí custom chatbot theo ý thích thân, ví dụ như: custom action, custom tokenizer, hay việc định tảng tin nhắn chatbot custom connector • Với Rasa, người bắt đầu với chatbot dễ dàng để xây dựng chatbot đơn giản Hầu hết công việc người sử dụng tập trung xây dựng ví dụ nội dung kịch Tại chọn rasa ? • Rasa lựa chọn hàng đầu việc nhận dạng tin nhắn, trích lọc ý định hỗ trợ nhiều ngơn ngữ • Việc xây dựng mã nguồn mở giúp người lập trình tùy chỉnh thành phần cho phù hợp với yêu cầu hệ thống • Hỗ trợ tạo Restful-API cung cấp cho tảng bên 90 Kiến trúc hệ thống ? Hình 0.1: Kiến trúc hệ thống chatbot Rasa NLU - Natural Language Understanding: Phần hiểu ngôn ngữ tự nhiên, NLU sử dụng thuật toán để chuyển văn người dùng thành thể học có cấu trúc Sau đó, thuật tốn phát thứ thời gian, vị trí, Với NLU mơ hình, xem NLU cơng cụ xử lý ngôn ngữ tự nhiên dùng để phân loại ý định trích xuất thực thể Dialogue Management (DM): Một hệ thống phức tạp thường phân tách thành lớp trừu tượng khác Mỗi lớp sử dụng kết lớp trước kết sử dụng cho lớp Sau hiểu ý người dùng, chatbot cần chọn câu trả lời Câu trả lời dựa nói kiến thức mà chatbot có Tùy thuộc vào phức tạp trò chuyện Việc quản lý thực gọi quản lý hộp thoại (DM) NLG - Natural Language Generation: Là phận sinh ngôn ngữ tự nhiên nhằm mục đích giảm khoảng cách giao tiếp máy móc người Công nghệ,thường chấp nhận đầu vào định dạng phi ngơn ngữ biến thành định dạng dễ hiểu người báo cáo, tài liệu, tin nhắn văn 91 Database: Là sở liệu dùng để lưu trữ thông tin hỗ trợ chatbot trả lời người dùng Trong toán tư vấn du lịch, DB lưu trữ thông tin du lịch điểm đến khách sạn, nhà hàng, Các khái niệm RASA ? Intent: Trong Rasa, thực khai báo Intent (ý định người dùng) domain.yml Chẳng hạn liệt kê số ý định người dùng tương tác với chatbot chào hỏi, tạm biệt, đồng ý, từ chối, intents: - greet: use_entities: true - goodbye: use_entities: true - affirm: use_entities: true - deny: use_entities: true Entity: Trong Rasa, thực khai báo Entity (thực thể) domain.yml Chẳng hạn liệt kê số thực thể tên nguyên liệu, công thức nấu ăn: entities: - ingredient - preparation_technique Stories: Rasa stories dạng liệu đào tạo sử dụng để đào tạo mơ hình quản lý hội thoại Rasa Một story trình bày trò chuyện người dùng trợ lý AI, chuyển đổi thành định dạng cụ thể thơng tin đầu vào người dùng thể dạng ý định (intents) tương ứng (và thực thể cần) phản hồi chatbot thể dạng tên hành động (action) tương ứng 92 Một ví dụ đào tạo cho hệ thống đối thoại Rasa Core gọi câu chuyện Đây ví dụ đoạn hội thoại định dạng câu chuyện Rasa: - story: happy path steps: - intent: greet - action: utter_greet - intent: food_recipe - action: action_search_food_recipe - intent: mood_great - action: utter_happy Actions: Trong viết story, ta gặp hai loại hành động: hành động phát biểu (utterance actions) hành động tùy chỉnh (custom actions) Hành động phát biểu thơng điệp cố định (hardcoded) mà bot phản hồi Trong đó, hành động tùy chỉnh liên quan đến mã tùy chỉnh (custom code) thực thi Tất hành động (cả hành động phát biểu hành động tùy chỉnh) thực chatbot hiển thị dạng dòng bắt đầu – theo sau tên hành động Các phản hồi cho hành động phát biểu phải bắt đầu tiền tố utter phải khớp với tên phản hồi xác định domain.yml actions: - action_search_food_recipe - action_get_food_recipe - action_get_nutrient - action_get_data 93 Policy: Trong file config.yml có khóa policies mà ta sử dụng để tùy chỉnh sách mà chatbot sử dụng Ví dụ, ví dụ bên dưới, có tham số max history để kiểm sốt lượng lịch sử đối thoại mà mơ hình xem xét để định hành động cần thực policies: - name: RulePolicy core_fallback_threshold: 0.3 core_fallback_action_name: action_default_fallback enable_fallback_prediction: True - max_history: name: AugmentedMemoizationPolicy - name: TEDPolicy max_history: 10 epochs: 20 batch_size: - 32 - 64 Slot: Slots nhớ chatbot Chúng hoạt động kho lưu trữ khóagiá trị (key-value) sử dụng để lưu trữ thơng tin mà người dùng cung cấp (ví dụ: thành phố họ) thông tin thu thập giới bên ngồi (ví dụ: kết truy vấn sở liệu) slots: ingredient: type: rasa.shared.core.slots.TextSlot initial_value: false auto_fill: true influence_conversation: true 94 ... dinh dưỡng, kết nối nhiều người hơn, cần thiết xây dựng hệ thống mạng xã hội kết nối người yêu thích nấu ăn với Với mạng xã hội lớn dễ dàng tạo cộng đồng thích nấu ăn Tuy nhiên mạng xã hội lớn Facebook,... cách xã hội nên nhiều người tự học nấu ăn cộng đồng người yêu thích nấu ăn gia tăng đáng kể Do đó, hệ thống mạng xã hội kết nối người sở thích quan trọng Nó giúp trì sở thích người mở rộng cộng đồng... văn hướng đến xây dựng hệ thống mạng xã hội kết nối người yêu thích nấu ăn để xây dựng mở rộng cộng đồng, đem lại kiến thức hữu ích ẩm thực dinh dưỡng đồng thời trả lời vấn đề thường gặp nấu ăn

Ngày đăng: 16/06/2022, 21:07

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

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

Tài liệu liên quan