1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo Cáo Đồ Án Chuyên Ngành 2 Đề Tài Xây Dựng Hệ Thống Dự Đoán Bệnh Tim Sử Dụng Chatbot.docx

37 34 0

Đ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

Thông tin cơ bản

Tiêu đề Xây dựng hệ thống dự đoán bệnh tim sử dụng Chatbot
Người hướng dẫn Nguyễn Quang Vũ
Trường học Đại Học Công Nghệ Thông Tin Và Truyền Thông Việt - Hàn - Đà Nẵng
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ án
Năm xuất bản 2023
Thành phố Đà Nẵng
Định dạng
Số trang 37
Dung lượng 2,9 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • Chương 1: TỔNG QUAN (8)
    • 1.1. Lý do chọn đề tài (8)
    • 1.2. Mục tiêu và nhiệm vụ nghiên cứu (8)
      • 1.2.1. Mục tiêu (9)
      • 1.2.2. Nhiệm vụ nghiên cứu (9)
    • 1.3. Đối tượng và khách thể nghiên cứu (9)
      • 1.3.1. Đối tượng nghiên cứu (9)
      • 1.3.2. Khách thể nghiên cứu (9)
    • 1.4. Cấu trúc đề tài (9)
  • Chương 2: CƠ SỞ LÝ THUYẾT (9)
    • 2.1. Giới thiệu về Python (9)
    • 2.2. Giới thiệu về Flask (10)
    • 2.3. Giới Thiệu Về Trí Tuệ Nhân Tạo (AI), Machine Learning, SVM và thư viện Scikit-Learn (11)
      • 2.3.1. Giới thiệu về Trí Tuệ Nhân Tạo (AI- Artificial Intelligence) (11)
      • 2.3.2. Giới thiệu về Machine Learning (12)
      • 2.3.3. Giới thiệu SVM (13)
      • 2.3.4. Giới thiệu Scikit-Learn – thư viện hỗ trợ trong việc phân loại (14)
    • 2.4. Giới thiệu Ngrok (14)
    • 2.5. Giới thiệu Chatbot (15)
      • 2.5.1. Khái niệm (15)
      • 2.5.2. Cấu tạo chatbot (15)
      • 2.5.3. Cách thức hoạt động (16)
      • 2.5.4. Một số nền tảng hỗ trợ phát triển cho chatbot (16)
      • 2.5.5. Một số ứng dụng chatbot (17)
    • 2.6. Dialogflow (17)
      • 2.6.1. Khái niệm (17)
      • 2.6.2. Lịch sử ra đời và hoạt động (19)
      • 2.6.3 Khái niệm Intents (19)
      • 2.6.4. Khái niệm Entities (20)
      • 2.6.5. Khái niệm Contexts (20)
      • 2.6.6. Actions and Parameters (21)
  • Chương 3: TRIỂN KHAI VÀ XÂY DỰNG (23)
    • 3.1. Công cụ và triển khai (23)
      • 3.1.1. Công cụ yêu cầu (23)
    • 3.2. Mô hình thiết kế hệ thống (23)
      • 3.2.1. Biều đồ phân cấp chức năng (23)
      • 3.2.2. Biểu đồ use case (24)
      • 3.2.3. Biểu đồ hoạt động (26)
      • 3.2.1. Biểu đồ tuần tự (27)
    • 3.3 Triển khai (28)
  • Chương 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (31)
    • 4.1. Kết quả thực hiện (31)
      • 4.1.1. Giao diện hệ thống (31)
      • 4.1.2. Các chức năng đã đạt được (35)
      • 4.1.3. Các chức năng còn chưa hoàn thành (35)
    • 4.2. Hướng phát triển (35)
  • PHỤ LỤC (36)

Nội dung

MẪU ĐỒ ÁN KHOÁ LUẬN TỐT NGHIỆP ĐẠ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 CHUYÊN NGÀNH 2 ĐỀ TÀI XÂY DỰNG HỆ THỐNG DỰ ĐOÁN BỆNH TIM SỬ DỤNG CHATBOT MỞ ĐẦU Trong[.]

Trang 1

ĐẠI HỌC ĐÀ NẴNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

Trang 2

MỞ ĐẦU

Trong những năm gần đây, khoa học công nghệ đang dần tiến đến một tầm caomới Mặc dù còn mới mẻ trong lĩnh vực khoa học và công nghệ nhưng Chatbot đangđược nghiên cứu và phát triển với tốc độ chóng mặt bởi các trung tâm nghiên cứu, cáctrường đại học và học viện…rất nhiều các lĩnh vực được ứng dụng công nghệ mới này.Chatbot là một hình thức thô sơ của phần mềm trí tuệ nhân tạo, là một chương trình đểtạo ra từ máy tính tiến hành cuộc trò chuyện thông qua các phương pháp nhập văn bản,

âm thanh, cảm ứng có thể trả lời các câu hỏi và xử lý các tình huống, là một công cụ

có thể giao tiếp, tương tác với con người thông qua một trí tuệ nhân tạo đã được lậptrình sẵn Có rất nhiều công cụ cũng như thư viện hỗ trợ cho Chatbot như: Dialogflow,Wit.ai, Watson Conversation Service, Microsoft’s LUIS, Google Natural LanguageAPI, Amazon Lex,…

Đề tài: “Xây dựng hệ thống dự đoán bệnh tim sử dụng Chatbot” chủ yếu xâydựng trên ngôn ngữ Python, nhận thông tin từ Dialogflow, trả lời tự động, thực hiện dựđoán thông tin đầu vào và đăt lịch hẹn phục vụ cho việc chuẩn đoán bệnh

Trang 3

LỜI CẢM ƠN

Để thực hiện và hoàn thành tốt đồ án này, em đã nhận được sự giúp đỡ vàhướng dẫn rất tận tình của các thầy cô thuộc Đại Học Công Nghệ Thông Tin VàTruyền Thông Việt Hàn – Đại Học Đà Nẵng Em xin cảm ơn các thầy cô thuộc bộmôn chuyên ngành đã cung cấp cho chúng em các thông tin, kiến thức vô cùng quýbáu và cần thiết trong suốt thời gian quá để em có thể thực hiện và hoàn thành đồ áncủa mình Đặc biệt em xin chân thành cảm ơn thầy Nguyễn Quang Vũ, người đã trựctiếp hướng dẫn chúng em trong thời gian thực hiện đồ án này

Cuối cùng, xin chân thành cảm ơn các bạn trong ngành công nghệ thông tin đãủng hộ, giúp đỡ, chia sẻ kiến thức, kinh nghiệm và tài liệu có được giúp chúng tôitrong quá trình nghiên cứu và thực hiện đề tài

Do giới hạn về mặt thời gian và kiến thức cũng như kinh nghiệm thực tiễn nên

đề tài không tránh khỏi những sai sót Em rất mong nhận được sự thông cảm của quýthầy cô và mong đón nhận những góp ý của thầy cô và các bạn

Em xin chân thành cảm ơn!

Trang 4

Để thực hiện và hoàn thành tốt đồ án này, em đã nhận được sự giúp đỡ vàhướng dẫn rất tận tình của các thầy cô thuộc Đại Học Công Nghệ Thông Tin VàTruyền Thông Việt Hàn – Đại Học Đà Nẵng Em xin cảm ơn các thầy cô thuộc bộmôn chuyên ngành đã cung cấp cho chúng em các thông tin, kiến thức vô cùng quýbáu và cần thiết trong suốt thời gian quá để em có thể thực hiện và hoàn thành đồ áncủa mình Đặc biệt em xin chân thành cảm ơn thầy Nguyễn Quang Vũ, người đã trựctiếp hướng dẫn chúng em trong thời gian thực hiện đồ án này.

Cuối cùng, xin chân thành cảm ơn các bạn trong ngành công nghệ thông tin đãủng hộ, giúp đỡ, chia sẻ kiến thức, kinh nghiệm và tài liệu có được giúp chúng tôitrong quá trình nghiên cứu và thực hiện đề tài

Do giới hạn về mặt thời gian và kiến thức cũng như kinh nghiệm thực tiễn nên

đề tài không tránh khỏi những sai sót Em rất mong nhận được sự thông cảm của quýthầy cô và mong đón nhận những góp ý của thầy cô và các bạn

Em xin chân thành cảm ơn!

Trang 5

MỤC LỤC

Chương 1: TỔNG QUAN 1

1.1 Lý do chọn đề tài 1

1.2 Mục tiêu và nhiệm vụ nghiên cứu 2

1.2.1 Mục tiêu 2

1.2.2 Nhiệm vụ nghiên cứu 2

1.3 Đối tượng và khách thể nghiên cứu: 2

1.3.1 Đối tượng nghiên cứu 2

1.3.2 Khách thể nghiên cứu 2

1.4 Cấu trúc đề tài 2

Chương 2: CƠ SỞ LÝ THUYẾT 3

2.1 Giới thiệu về Python 3

2.2 Giới thiệu về Flask 4

2.3 Giới Thiệu Về Trí Tuệ Nhân Tạo (AI), Machine Learning, SVM và thư viện Scikit-Learn 4

2.3.1 Giới thiệu về Trí Tuệ Nhân Tạo (AI- Artificial Intelligence) 4

2.3.2 Giới thiệu về Machine Learning 5

2.3.3 Giới thiệu SVM 6

2.3.4 Giới thiệu Scikit-Learn – thư viện hỗ trợ trong việc phân loại 7

2.4 Giới thiệu Ngrok 7

2.5 Giới thiệu Chatbot 8

2.5.1 Khái niệm 8

2.5.2 Cấu tạo chatbot 8

2.5.3 Cách thức hoạt động 9

2.5.4 Một số nền tảng hỗ trợ phát triển cho chatbot 10

2.5.5 Một số ứng dụng chatbot 10

2.6 Dialogflow 11

2.6.1 Khái niệm 11

2.6.2 Lịch sử ra đời và hoạt động 12

2.6.3 Khái niệm Intents 13

2.6.4 Khái niệm Entities 14

2.6.5 Khái niệm Contexts 14

Trang 6

2.6.6 Actions and Parameters 15

Chương 3: TRIỂN KHAI VÀ XÂY DỰNG 17

3.1 Công cụ và triển khai 17

3.1.1 Công cụ yêu cầu 17

3.2 Mô hình thiết kế hệ thống 17

3.2.1 Biều đồ phân cấp chức năng 17

3.2.2 Biểu đồ use case 18

3.2.3 Biểu đồ hoạt động 20

3.2.1 Biểu đồ tuần tự 21

3.3 Triển khai 22

Chương 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 26

4.1 Kết quả thực hiện 26

4.1.1 Giao diện hệ thống 26

4.1.2 Các chức năng đã đạt được 29

4.1.3 Các chức năng còn chưa hoàn thành 29

4.2 Hướng phát triển 29

PHỤ LỤC 30

DANH MỤC TÀI LIỆU THAM KHẢO 31

Trang 7

DANH MỤC HÌNH

Hình 1 Chatbot trong nhiều lĩnh vực 1

Hình 2 Mối tương quan giữa AL, ML và DL 6

Hình 3 Đồ thị biểu hiện thuật toán SVM 7

Hình 4 Đồ thị biểu hiện thuật toán SVM 7

Hình 5 Nguyên lý hoạt động Chatbot 10

Hình 6 Dialogflow – Dịch vụ của Google 12

Hình 7 Biểu đồ phân cấp chức năng 17

Hình 8 Biểu đồ use case 18

Hình 9 Biểu đồ hoạt động 20

Hình 10 Biểu đồ tuần tự 21

Hình 11 Đọc dữ liệu 23

Hình 12 Biểu đồ tròn 23

Hình 13 Biểu đồ phân bố độ tuổi 24

Hình 14 Phân chia dữ liệu 24

Hình 15 Giao diện trang chính 26

Hình 16 Giao diện phần chatbot và phần nhập thông tin 26

Hình 17 Form nhập thông tin 27

Hình 18 Hệ thống dự đoán 27

Hình 19 Đặt lịch hẹn 28

Hình 20 Email gửi đến người dùng 28

Trang 8

Chương 1: TỔNG QUAN

1.1 Lý do chọn đề tài

Trong những năm gần đây, mặc dù còn mới mẻ trong lĩnh vực khoa học vàcông nghệ nhưng Chatbot đang được nghiên cứu và phát triển với tốc độ nhanh chóngbởi các trung tâm nghiên cứu, trường đại học và học viện…với rất nhiều ứng dụng trêncác lĩnh vực khác nhau như: giải trí, y tế, thương mại, tự động hóa,…Đặc biệt, Chatbottrong ngành y học sẽ giúp rất nhiều cho các bác sĩ trong việc tư vấn và thẩm chí hướngdẫn bệnh nhân điều trị các bệnh có thể được chữa khỏi Vậy tại sao không cho nó thêmnhiệm vụ để dự đoán thông tin đầu vào là những thông số cơ thể rồi sau đó thông báokết qủa đến người bệnh là người đó đang mắc căn bệnh gì

Để làm điều đó chúng ta cần kịch bản về câu hỏi mà bác sĩ đã hỏi, dữ liệu thôngtin đầu vào Và với các câu hỏi được đặt ra, Chatbot sử dụng các hệ thống xử lý ngônngữ tự nhiên (Natural Language Processing) và phương pháp phân loại dữ liệu SVM

để phân tích dữ liệu, sau đó kết hợp hai thuật toán học máy để đưa ra phản hồi về dựđoán và phản hồi chính xác nhất có thể

Vì vây, đề tài “Xây dựng hệ thống dự đoán bệnh tim sử dụng Chatbot” sẽ giúpcho các bác sĩ giảm thiểu được thời gian tư vấn cho bệnh nhân với một số câu được sửdụng hằng ngày và thì hoàn thành công việc Chatbot sẽ yêu cầu thời gian về ngày, giờ

để sắp xếp lịch đặt hẹn với các bác sĩ chuyên khoa giúp bệnh nhân không cần phảingồi chờ đợi Với mỗi người dùng truy cập hệ thống để tư vấn, khi kết thúc phiên tưvấn, người dùng sẽ nhập thông tin và sau khi có đầy đủ thông tin hệ thống sẽ báo kếtquả là bạn có đang bị mắc bệnh tim hay không

Dữ liệu cho việc huấn luyện dữ liệu được lấy từ bệnh viện Thụy Sĩ

Hình 1 Chatbot trong nhiều lĩnh vực

1.2 Mục tiêu và nhiệm vụ nghiên cứu

Trang 9

1.2.1 Mục tiêu

Tìm hiểu về hệ thống chatbots, ứng dụng của chatbots cho đời sống và nhữngphương pháp trong việc dự đoán thông tin, cụ thể qua việc xây dựng hệ thống trên nềntảng của Dialogflow, ngôn ngữ Python và kết hợp phương pháp học SVM (SupportVector Machine)

1.2.2 Nhiệm vụ nghiên cứu

Nghiên cứu cơ sở lý thuyết về Dialogflow, Python, SVM, Flask

Nghiên cứu cách hoạt động của Chatbot để rồi kết hợp phương pháp SVMtrong việc dự đoán thông tin

Đào tạo dữ liệu tim mạch được lấy từ bệnh viện Thụy Sĩ

Xây dựng các nội dung, kịch bản để bác sĩ Chatbot tư vấn

1.3 Đối tượng và khách thể nghiên cứu:

1.3.1 Đối tượng nghiên cứu

Hệ thống dự đoán tim mạch thông qua Chatbot

 Chương I: Giới thiệu tổng quan

 Chương II: Cơ sở lý thuyết

 Chương III: Triển khai xây dựng

Chương 2: CƠ SỞ LÝ THUYẾT

2.1 Giới thiệu về Python

Trang 10

Python là một ngôn ngữ lập trình thông dịch (interpreted), hướng đối tượng (object-oriented), và là một ngôn ngữ bậc cao (high-level) ngữ nghĩa động (dynamic semantics) Python hỗ trợ các module và gói (packages), khuyến khích chương trình module hóa và tái sử dụng mã Trình thông dịch Python và thư viện chuẩn mở rộng có sẵn dưới dạng mã nguồn hoặc dạng nhị phân miễn phí cho tất cả các nền tảng chính và

có thể được phân phối tự do

Sau đây là các đặc điểm của Python:

 Ngữ pháp đơn giản, dễ đọc

 Vừa hướng thủ tục (procedural-oriented), vừa hướng đối tượng oriented)

(object- Hỗ trợ module và hỗ trợ gói (package)

 Xử lý lỗi bằng ngoại lệ (Exception)

 Kiểu dữ liệu động ở mức cao

 Có các bộ thư viện chuẩn và các module ngoài, đáp ứng tất cả các nhu cầu lập trình

 Có khả năng tương tác với các module khác viết trên C/C++ (Hoặc Java choJython, hoặc Net cho IronPython)

Ưu điểm:

 Có thể nhúng vào ứng dụng như một giao tiếp kịch bản (scripting interface)

 Python dễ dàng kết nối với các thành phần khác:

 Python có thể kết nối với các đối tượng COM, NET (Ironpython, Python for net), và CORBA, Java… Python cũng được hỗ trợ bởi Internet

Communications Engine (ICE) và nhiều công nghệ kết nối khác

 Có thể viết các thư viện trên C/C++ để nhúng vào Python và ngược lại

 Python là ngôn ngữ có khả năng chạy trên nhiều nền tảng

 Python có cho mọi hệ điều hành: Windows, Linux/Unix, OS/2, Mac, Amiga,

và những hệ điều hành khác Thậm chí có cả những phiên bản chạy

trên NET, máy ảo Java, và điện thoại di động (Nokia Series 60) Với cùng một mã nguồn sẽ chạy giống nhau trên mọi nền tảng

 Python rất đơn giản và dễ học

 Python có cộng đồng lập trình rất lớn, hệ thống thư viện chuẩn, và cả các thư viện mã nguồn mở được chia sẻ trên mạng

 Python là ngôn ngữ mã nguồn mở

 Cài đặt Python dùng giấy phép nguồn mở nên được sử dụng và phân tối tự

do, ngay cả trong việc thương mại Giấy phép Python được quản lý bởi Python Software Foundation

2.2 Giới thiệu về Flask

Flask là một web frameworks, nó thuộc loại micro-framework được xây dựng bằng ngôn ngữ lập trình Python Flask cho phép bạn xây dựng các ứng dụng web từ đơn giản tới phức tạp Nó có thể xây dựng các api nhỏ, ứng dụng web chẳng hạn như

Trang 11

các trang web, blog, trang wiki hoặc một website dựa theo thời gian hay thậm chí là một trang web thương mại Flask cung cấp cho bạn công cụ, các thư viện và các công nghệ hỗ trợ bạn làm những công việc trên.

Flask là một micro-framework Điều này có nghĩa Flask là một môi trường độc lập, ít sử dụng các thư viện khác bên ngoài Do vậy, Flask có ưu điểm là nhẹ, có rất ít lỗi do ít bị phụ thuộc cũng như dễ dàng phát hiện và xử lý các lỗi bảo mật

Ưu điểm:

 Tốc độ

 Hỗ trợ cho NoQuery

 Độ phức tạp tối thiểu

 Chủ nghĩa tối giản tuyệt đối

 Không có ORM, dễ dàng kết nối với tiện ích mở rộng

 Trình gỡ lỗi được nhúng trong trình duyệt

 Mã ngắn và đơn giản trong số các bộ xương Python khác

 Điểm nổi bật khi sử dụng Flask để lập trình web là sẽ rất ít bị phụ thuộc bên thứ 3, do đó đề phòng được các lỗi bảo mật

Nhược điểm:

 Vì là micro framework nên cần phải làm nhiều việc hơn

2.3 Giới Thiệu Về Trí Tuệ Nhân Tạo (AI), Machine Learning, SVM và thư viện Scikit-Learn

2.3.1 Giới thiệu về Trí Tuệ Nhân Tạo (AI- Artificial Intelligence)

Ngày nay thì trí tuệ nhân tạo thì có mặt ở khắp mọi nơi Trí tuệ nhân tạo là xu hướng mà các hãng công nghệ lớn đang hướng đến như Google, Facebook, Amazon, Microsoft, Các hãng đó đều đầu tư rất lớn vào trí tuệ nhân tạo nhằm tạo ra các sản phẩm phục vụ cho lợi ích của con người

Trí tuệ nhân tạo là trí tuệ được biểu diễn bởi bất cứ một hệ thống nhân tạo nào Thuật ngữ này thường dùng để nói đến các máy tính có mục đích không nhất định và ngành khoa học nghiên cứu về các lý thuyết và ứng dụng của trí tuệ nhân tạo Nó liên quan đến việc cư xử, sự học hỏi, khả năng thích ứng thông minh của máy móc

Bellman ( 1978 ) định nghĩa trí tuệ nhân tạo là tự động hoá các hoạt động phù hợp với suy nghĩ con người, chẳng hạn các hoạt động ra quyết định, giải bài toán, Rich anh Knight ( 1991 ) thì cho rằng: Trí tuệ nhân tạo là khoa học nghiên cứu xem làm thế nào để máy tính có thể thực hiện những công việc mà hiện con người còn làm tốt hơn máy tính

Mỗi khái niệm, định nghĩa đều có điểm đúng riêng, nhưng để đơn giản chúng ta

có thể hiểu trí tuệ nhân tạo là một ngành khoa học máy tính Nó xây dựng trên một nềntảng lý thuyết vững chắc và có thể ứng dụng trong việc tự động hóa các hành vi thông minh của máy tính Giúp máy tính có được những trí tuệ của con người như: biết suy

Trang 12

nghĩ và lập luận để giải quyết vấn đề, biết giao tiếp do hiểu ngôn ngữ, tiếng nói, biết học và tự thích nghi

Nó là 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 để chúng ta có thể ngồi đó quan sát không cần phải điều khiển , sắp xếp lại các ảnh của những chuyến đi chơi khác nhau vào những cuốn album riêng biệt, thậm chí

AI còn giúp chúng ta quản lí nhà của khi đi vắng hoặc đi mua sắm nữa

2.3.2 Giới thiệu về Machine Learning

Machine Learning là một thuật ngữ rộng để chỉ hành động bạn dạy máy tính cảithiện một nhiệm vụ mà nó đang thực hiện Cụ thể hơn, machine learning đề cập tới bất

kỳ hệ thống mà hiệu suất của máy tính khi thực hiện một nhiệm vụ sẽ trở nên tốt hơnsau khi hoàn thành nhiệm vụ đó nhiều lần Hay nói cách khác, khả năng cơ bản nhấtcủa machine learning là sử dụng thuật toán để phân tích những thông tin có sẵn, họchỏi từ nó rồi đưa ra quyết định hoặc dự đoán về một thứ gì đó có liên quan Thay vì tạo

ra một phần mềm với những hành động, hướng dẫn chi tiết để thực hiện một nhiệm vụ

cụ thể, máy tính được “huấn luyện” bằng cách sử dụng lượng dữ liệu và các thuật toán

Sau khi máy đã nhận được đủ dữ liệu cần thiết về mèo, nó phải biết cách tìm một con mèo trong một bức tranh - “Nếu trong hình ảnh có chứa các chi tiết X, Y, hoặc Z nào đó, thì 95% khả năng đó là một con mèo”

Trang 13

Hình 2 Mối tương quan giữa AL, ML và DL

2.3.3 Giới thiệu SVM

SVM (Support Vector Machine) là 1 thuật toán học máy thuộc nhóm

Supervised Learning (học có giám sát) được sử dụng trong các bài toán phân lớp dữ liệu (classification) hay hồi qui (Regression)

SVM là 1 thuật toán phân loại nhị phân, SVM nhận dữ liệu vào và phân loại chúng vào hai lớp khác nhau Với 1 bộ các ví dụ luyện tập thuộc hai thể loại cho trước,thuật toán luyện tập SVM xây dựng 1 mô hình SVM để phân loại các ví dụ khác vào hai thể loại đó

Hình 3 Đồ thị biểu hiện thuật toán SVM

Support Vectors hiểu một cách đơn giản là các đối tượng trên đồ thị tọa độ quan sát, Support Vector Machine là một biên giới để chia hai lớp tốt nhất

Trang 14

Ta có ví dụ về 3 đường hyper-lane (A, B, C) Xác định hyper-lane nào đúng cho nhóm ngôi sao và hình tròn

Ưu điểm của SVM

 Xử lý trên không gian số chiều cao: SVM là một công cụ tính toán hiệu quả

trong không gian chiều cao, trong đó đặc biệt áp dụng cho các bài toán phân loại văn bản và phân tích quan điểm nơi chiều có thể cực kỳ lớn

 Tiết kiệm bộ nhớ: Do chỉ có một tập hợp con của các điểm được sử dụng

trong quá trình huấn luyện và ra quyết định thực tế cho các điểm dữ liệu mớinên chỉ có những điểm cần thiết mới được lưu trữ trong bộ nhớ khi ra quyết dịnh

 Tính linh hoạt: Phân lớp thường là phi tuyến tính Khả năng áp dụng Kernel

mới cho phép linh động giữa các phương pháp tuyến tính và phi tuyến tính

từ đó khiến cho hiệu suất phân loại lớn hơn

Nhược điểm của SVM

 Bài toán số chiều cao: Trong trường hợp số lượng thuộc tính (p) của tập dữ

liệu lớn hơn rất nhiều so với số lượng dữ liệu (n) thì SVM cho kết quả khá

tồi

Chưa thể hiện rõ tính xác suất: Việc phân lớp của SVM chỉ là việc cố gắng

tách các đối tượng vào hai lớp được phân tách bởi siêu phẳng SVM Điều này chưa giải thích được xác suất xuất hiện của một thành viên trong một nhóm là như thế nào Tuy nhiên hiệu quả của việc phân lớp có thể được xác

định dựa vào khái niệm margin từ điểm dữ liệu mới đến siêu phẳng phân

lớp mà chúng ta đã bàn luận ở trên

2.3.4 Giới thiệu Scikit-Learn – thư viện hỗ trợ trong việc phân loại

Scikit-learn là một thư viện Python mã nguồn mở dành cho học máy Thư viện này hỗ trợ các thuật toán hiện đại như KNN, XGBoost, random forest, SVM và một sốthuật toán khác. 

Scikit-learn được sử dụng rộng rãi trong các cuộc thi kaggle cũng như trong cáccông ty công nghệ nổi tiếng Nó giúp tiền xử lý, giảm chiều dữ liệu (lựa chọn tham số), phân loại, hồi quy, phân cụm và model selection

2.4 Giới thiệu Ngrok

Ngrok là công cụ tạo đường hầm (tunnel) giữa localhost của bạn và internet Giúp người khác mạng có thể truy cập được localhost của bạn thông qua custom

domain của ngrok

Trang 15

 Xây dựng webhook tới localhost của bạn một cách dễ dàng

đã được lập trình sẵn

Trong đa số các trường hợp thì chatbot được sử dụng qua ứng dụng nhắn tin đểnói chuyện với con người Nó có khả năng trả lời những câu hỏi mà người dùng đề ra,thông thường lúc ban đầu thì nó sẽ dựa vào những từ khóa trong câu hỏi của ngườidùng để trả lời và dần dần nó sẽ học hỏi được thêm từ trải nghiệm người dùng và làmnhững cuộc trò chuyện tiếp xúc với con người trở nên cá nhận hơn, giống thật hơn

Ví dụ 1: Nếu như bạn muốn nhắn tin để tìm kiếm thông tin một sản phẩm củamột cửa hàng hoặc công ty đã tạo Chatbot, bạn chỉ việc nhập vào từ khóa, chúng sẽ lậptức tìm và hiện kết quả thông tin sản phẩm cho bạn Đôi khi thuật ngữ “Chatbot” được

sử dụng để chỉ các trợ lý ảo nói chung hoặc cụ thể là chỉ chương trình máy tính trả lời

tự động trên nền tảng tin nhắn (Messaging Platform)

Ví dụ 2: Nếu như bạn đã hỏi “trợ lý ảo” Siri của Apple hay Cortana củaMicrosoft một vấn đề gì đó như: “Thời tiết hôm nay như thế nào?”, là bạn đã làm việcvới một chatbot

2.5.2 Cấu tạo chatbot

Cấu tạo cơ bản của Chatbot gồm có ba phần bao gồm: cơ sở dữ liệu, lớp ứngdụng, quyền truy cập vào các API và giao diện đồ họa người dùng Nhờ những thànhphần cơ bản đó mà nó có thể hoạt động được

- Cơ sở dữ liệu: Cơ sở dữ liệu lưu trữ các thông tin, dữ liệu và nội dung.

- Tầng ứng dụng: Các giao thức của tầng ứng dụng thường được dùng để trao đổi

dữ liệu giữa các chương trình chạy trên máy nguồn và máy đích Tầng này đóngvai trò như cửa sổ dành cho hoạt động xử lý các trình ứng dụng, nó biểu diễnnhững dịch vụ hỗ trợ trực tiếp các ứng dụng người dùng, chẳng hạn như phầnmềm chuyển tin, truy nhập cơ sở dữ liệu và email, v.v

- Giao diện lập trình ứng dụng (API): là một giao diện mà một hệ thống máy tính

hay ứng dụng cung cấp để cho phép các yêu cầu dịch vụ có thể được tạo ra từ

Trang 16

các chương trình máy tính khác, và/hoặc cho phép dữ liệu có thể được trao đổiqua lại giữa chúng

2.5.3 Cách thức hoạt động

Chatbot là sự kết hợp của các kịch bản có trước và tự học trong quá trình tươngtác Ta sẽ tương tác với Chatbot qua nền tảng tin nhắn Với các câu hỏi được đặt ra,Chatbot sử dụng các hệ thống xử lý ngôn ngữ tự nhiên (Natural Language Processing)

để phân tích dữ liệu sau đó chúng lựa chọn các thuật toán học máy để đưa ra các loạiphản hồi khác nhau, chúng sẽ dự đoán và phản hồi chính xác nhất có thể Chatbot sửdụng nhiều hệ thống quét các từ khoá bên trong đầu vào, sau đó bot khởi động mộthành động, kéo một câu trả lời với các từ khóa phù hợp nhất và trả lời thông tin từ một

cơ sở dữ liệu / API, hoặc bản giao cho con người Nếu tình huống đó chưa xảy ra(không có trong dữ liệu), Chatbot sẽ bỏ qua nhưng sẽ đồng thời tự học để áp dụng chocác cuộc trò chuyện về sau

Một trong các yếu tố làm nên sức mạnh của Chatbot là khả năng tự học hỏi.Càng được sử dụng, tương tác với người dùng nhiều, nền tảng Chatbot cảng thôngminh” Chatbot thông minh có khả năng tự học hỏi dựa trên các dữ liệu đưa vào màkhông cần phải được lập trình cụ thể (đó được gọi là phương pháp máy học - MachineLearning) Chính điều này làm cho các nhà phát triển dễ dàng tạo các chương trình tròchuyện và tự động hóa các cuộc trò chuyện với người dung Để biết thêm chi tiết vềcác ý tưởng và khái niệm đằng sau Chatbot ta xem sơ đồ quá trình sau:

Hình 5 Nguyên lý hoạt động Chatbot

2.5.4 Một số nền tảng hỗ trợ phát triển cho chatbot.

- Dialogflow

- Wit.ai

Trang 17

- Watsion Conversation Service.

- Thời tiết: Poncho là ChatBot được thiết kế để trở thành một chuyên gia thời tiết,ngoài dự báo thời tiết chúng còn gửi cảnh báo khi thời tiết xấu với sự chấpthuận của người dùng

- Từ thiện: Để nâng cao nhận thức của con người về cuộc khủng hoảng nước ởEthiopia (dưới 50% dân số được sử dụng nước sạch), tổ chức từ thiện: Nướchợp tác với Lokai để tạo ra Yeshi Yeshi là một ChatBot đại diện các cô gái trẻ

ở Ethiopia, người phải đi bộ 2,5 giờ mỗi ngày để tìm nước sạch Khi ai đó bắtđầu trò chuyện với bot, Yeshi sẽ gửi hình ảnh, video, clip âm thanh và bản đồ

để tạo ra trải nghiệm cảm xúc sâu sắc giúp người dùng khám phá ra thực tếkhắc nghiệt của người Ethiopia như Yeshi

- Nhà hàng và các ngành bán lẻ: Khách hàng được Chatbot chào đón và đượccung cấp các tùy chọn menu như: chọn vị trí chỗ ngồi, thanh toán và đượcthông báo khi nào họ có thể bắt đầu lấy thức ăn của họ

- Khách sạn và Du lịch: Chatbot có thể giúp khách sạn trong một số lĩnh vực, baogồm quản lý thời gian, dịch vụ khách hàng và giảm chi phí nhân lực Chúng cóthể giúp khách hàng với các câu hỏi cơ bản và yêu cầu Chúng có thể được lậptrình để trò chuyện với khách bằng các ngôn ngữ khác nhau, làm cho các kháchhàng nói chuyện bằng ngôn ngữ địa phương của mình dễ dàng hơn

- Y tế: Chatbot này sẽ hỏi về các triệu chứng, các thông số cơ thể và lịch sử y tế,sau đó biên soạn một danh sách các nguyên nhân gây ra hầu hết các triệu chứng

và xếp hạng chúng theo thứ tự nghiêm trọng Chatbot có thể hướng dẫn bệnhnhân điều trị các bệnh có thể được chữa khỏi mà không cần đến bác sĩ

- Hàng không: Bạn có thể nhận tài liệu chuyến bay của mình qua Messenger, baogồm xác nhận đặt vé, thông báo đăng ký, thẻ lên máy bay, và cập nhật trạngthái chuyến bay

- Nông nghiệp: Chatbots giúp ích cho việc tự động hóa các quy trình chiếu sáng(đóng mở đèn tự động), tưới tiêu, quản lý thời gian, cây trồng, …

2.6 Dialogflow

2.6.1 Khái niệm

Trang 18

Dialogflow (trước đây là Api.ai, Speaktoit) là một nền tảng UX đàm thoại chophép tương tác độc đáo của Google về công nghệ, Dialogflow tương tác giữa conngười và máy tính dựa trên các cuộc trò chuyện bằng ngôn ngữ tự nhiên Nói cáchkhác, Dialogflow là một framework cung cấp các dịch vụ NLP / NLU (NaturalLanguage Processing / Natural Language Understanding) xử lý ngôn ngữ tự nhiên.Hơn thế nữa, Dialogflow cung cấp tích hợp một cú nhấp chuột với hầu hết các nềntảng nhắn tin phổ biến như Facebook, Telegram, Twitter, Viber, Kik, và hỗ trợ lýthoại như Trợ lý Google và Amazon Alexa

Hình 6 Dialogflow – Dịch vụ của Google

Dialogflow cho phép bạn tạo ra một giao diện ngôn ngữ tự nhiên bằng cáchcung cấp dữ liệu có thể hành động dựa trên đầu vào đã cho Nền tảng này bao gồmnhận dạng giọng nói, hiểu ngôn ngữ tự nhiên, học tập cơ bản cũng như khả năngchuyển văn bản thành giọng nói Nền tảng hoạt động trên cơ sở các ý định và thực thểđược nhận ra từ lời nói của người dùng thay vì chỉ dựa trên phản hồi của người dùng

Có một số giao diện cho người dùng dựa trên web để xác định thực thể, ý định và phảnhồi cho chatbot hoặc cho giao diện ngôn ngữ tự nhiên khác Nhật ký của hệ thống sẽphát triển dựa trên các ý định được xác định đại diện cho ý định của người dùng cuối.Luồng của hộp thoại có thể được xác định bằng cách định dạng cấu hình ngữ cảnh, ưutiên ý định, điền vào khe, và thực hiện bằng cách sử dụng các webhook

Dialogflow bao gồm khả năng học máy để cải thiện hơn nữa việc phát hiện các

ý định từ những phát biểu của người dùng Mục đích bao gồm các phần nối tiếp :người dùng nói, hệ thống hành động, phản hồi Các câu nói của người dùng có thểđược viết ở chế độ mẫu hoặc ví dụ mẫu Chế độ mẫu được viết bằng ngôn ngữ tựnhiên và có thể được chú thích cho các tham số Trong chế độ mẫu, các tham số đượctham chiếu trực tiếp trong các lời nói và chúng không cần phải chú thích Bạn nên sửdụng chế độ ví dụ, vì chế độ ví dụ dễ sử dụng hơn và việc học máy có thể học nhanhhơn ở chế độ này Các ngữ cảnh có thể được sử dụng để truyền thông tin từ các cuộchội thoại trước hoặc các nguồn bên ngoài Để ý định được kích hoạt, tất cả các ngữcảnh được xác định cho mục đích phải hoạt động Có thể ưu tiên các ý định trongtrường hợp một số ý định được xác định, xác định dự phòng và các ý định tiếp theo, vàxác định các phản hồi văn bản

Ngày đăng: 13/06/2023, 04:15

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
2. Giới thiệu về Machine Learning. Machine Learning hoạt động như thế nào? https://vncoder.vn/bai-hoc/gioi-thieu-ve-machine-learning-103 Sách, tạp chí
Tiêu đề: Giới thiệu về Machine Learning
Tác giả: Admin
Nhà XB: VnCoder
Năm: 2022
3. Giới thiệu về Python: https://openplanning.net/11385/gioi-thieu-ve-python Sách, tạp chí
Tiêu đề: Giới thiệu về Python
Nhà XB: openplanning.net
4. Machine learning là gì? Deep learning là gì? Sự khác biệt giữa AI, machine learning và deep learning: https://quantrimang.com/su-khac-biet-giua-ai-hoc-may-va-hoc-sau-157948 Sách, tạp chí
Tiêu đề: Machine learning là gì? Deep learning là gì? Sự khác biệt giữa AI, machine learning và deep learning
Tác giả: Phạm Hải
Nhà XB: Quantrimang.com
Năm: 2025
5. Giới thiệu Ngrok: https://viblo.asia/p/tooling-gioi-thieu-ngrok-mang-demo-du-an-web-len-internet-khong-can-deploy-naQZR7eqlvx Sách, tạp chí
Tiêu đề: Giới thiệu ngrok - Mang demo dự án web lên internet không cần deploy
Tác giả: KhanhWAP
Nhà XB: Viblo
Năm: 2017
6. Tìm hiểu về thuật toán SVM và cách nó làm việc: https://viblo.asia/p/gioi-thieu-ve-support-vector-machine-svm-6J3ZgPVElmB Sách, tạp chí
Tiêu đề: Giới thiệu về Support Vector Machine (SVM)
Tác giả: Huynh Chi Trung
Nhà XB: Viblo
Năm: 2020
7. Giới thiệu thư viện Scikit-Learn: https://codelearn.io/sharing/scikit-learn-trong-python-la-gi8. Giới thiệu Chatbot Link

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w