Chatbots 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 được 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 tha
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN
ĐỀ CƯƠNG CHUYÊN ĐỀ HỌC PHẦN NHẬP MÔN TRÍ TUỆ NHÂN TẠO
ĐỀ TI:
Xây Dựng Hệ Thống ChatBot Sinh viên thực hiện : LÊ HỒNG QUANG
PHAN MINH ĐỨC Giảng viên hướng dẫn : VŨ VĂN ĐỊNH
Chuyên ngành : CÔNG NGHỆ PHẦN MỀM
Hà Nội, tháng 11 năm 2023
Trang 2PHIẾU CHẤM ĐIỂM
STT Họ và tên
sinh viên Nội dung thực hiện Điểm Chữ ký
1 Phan Minh
Đức
+Giới thiệu về “AI” và phương pháp tìm kiếm kinh nghiệm
2 Phạm Hồng
Quang +Giới thiệu về chatbot+Cài đặt đánh giá và thử nghiệm
Giảng viên chấm 1:
Giảng viên chấm 2:
Trang 3Mục lục
LIỆT KÊ CHỮ VIẾT TẮT 5
PHẦN MỞ ĐẦU 6
CHƯƠNG 1: GIỚI THIỆU VỀ “AI” VÀ PHƯƠNG PHÁP TÌM KIẾM KINH NGHIỆM 7
1.1 Giới thiệu về AI 7
1.1.1 Trí tuệ nhân tạo là gì ? 7
1.1.2 Lịch sử 8
1.1.3 Lĩnh vực của AI 9
1.2 Phương pháp tìm kiếm 12
CHƯƠNG 2: GIỚI THIỆU VỀ CHATBOT 13
2.1 Giới thiệu Chatbot 13
2.2 Phân tích bài toán 14
2.1.1 AIML là gì? 14
2.2 GIẢI QUYẾT BÀI TOÁN 15
2.2.1 Ý tưởng 15
CHƯƠNG 3 CÀI ĐẶT, ĐÁNH GIÁ THỬ NGHIỆM 16
3.1 Cài đặt với C# Winform 16
3.1.1 Cài đặt thuật toán 16
3.2.1 Giao diện chương trình 18
3.2.1.1 Giao diện khi chạy chương trình 18
3.2.1.2 Giao diện khi nói chuyện 19
3.2.2 Kết luận 19
LỜI CẢM ƠN 22
Trang 4LIỆT KÊ CHỮ VIẾT TẮT
CSI Current source Inverters
Bộ biến đổi nguồn dòng
EMTP ElectroMagnetic transients program
Chương trình tính toán quá độ điện từ
PWM Pulse Width Modulation
Bộ điều khiển biến điệu độ rộng xung
TVVS
s Transient Voltage surge suppressors Bộ bảo vệ quá áp
SVC
Static VAR Compensator
Bộ bù tĩnh công suất phản kháng có điều khiển
TCR
Thyristor Controlled Reactor
Bộ kháng điều khiển bằng thyristor
TSC
Thyristor Switched Capacitor
Bộ tụ đóng mở bằng thyristor
TSR
Thyristor Switched Reactor
Bộ kháng đóng mở bằng thyristor
Trang 5PHẦN 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 cao mới Mặc dù còn mới mẻ trong lĩnh vực khoa học và công nghê • nhưng Chatbots đ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ác trườ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 Chatbots 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 được 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â •p trình sẵn Có rất nhiều công cụ cũng như thư viê •n hỗ trợ cho Chatbots như: Dialogflow, Wit.ai, Watson Conversation Service, Microsoft „s LUIS, Google Natural Language API, Amazon Lex,
Đây là tài liê •u dùng để biểu diễn cơ bản thiết kế và giải quyết bài toán… Tài liê •u này giúp ta có cái nhìn toàn vẹn về các chức năng của phần mềm cũng như ứng dụng thuâ •t toán … để giải quyết bài toán này Do thời gian có hạn nên chúng em không thể tối ưu được toàn bộ không gian trạng thái bài toán Tuy nhiên, nhóm sẽ nghiên cứu hoàn thiê •n trong thời gian sớm nhất Nhóm thực hiê •n
đề tài nhằm mục đích xây dựng một hê • thống giải quyết một bài toán thực tế dựa trên chiến lược … và xây dựng một ứng dụng giải trí Trong quá trình thực hiê •n đề tài không tránh khỏi những sai sót, nhóm em mong sẽ nhâ •n được sự góp
ý và đánh giá của Thầy Cô
Do kiến thức còn hạn chế nên bài tiểu luâ •n của em còn nhiều sai sót Em rất mong nhâ •n được nhâ •n xét và đánh giá góp ý của các thầy cô
Em xin chân thành cảm ơn!
5
Trang 6CHƯƠNG 1: GIỚI THIỆU VỀ “AI” V PHƯƠNG PHÁP TÌM
KIẾM KINH NGHIỆM
1.1 Giới thiệu về AI.
1.1.1 Trí tuệ nhân tạo là gì ?
Để hiểu trí tuê • nhân tạo (artificial intelligence) là gì chúng ta bắt đầu với khái niê •m sự bay nhân tạo (flying machines), tức là cái máy bay
Đã từ lâu, loài người mong muốn làm ra một cái máy mà có thể di chuyển được trên không trung mà không phụ thuộc vào địa hình ở dưới mặt đất, hay nói cách khác là máy có thể bay được Không có gì ngạc nhiên khi những ý tưởng đầu tiên làm máy bay là từ nghiên cứu cách con chim bay Những chiếc máy biết bay được thiết kế theo nguyên lý “vỗ cánh” như con chim chỉ có thể bay được quãng đường rất ngắn và lịch sử hàng không thực sự sang một trang mới kể từ anh em nhà Wright thiết kế máy bay dựa trên các nguyên lý của khí động lực học (aerodynamics)
Các máy bay hiê •n nay, như đã thấy, có sức trở rất lớn và bay được quãng đường có thể vòng quanh thế giới Nó không nhất thiết phải có nguyên lý bay của con chim nhưng vẫn bay được như chim (dáng vẻ), và còn tốt hơn chim
Quay lại câu hỏi Trí tuê • nhân tạo là gì Trí tuê • nhân tạo là trí thông minh của máy do con người tạo ra Ngay từ khi chiếc máy tính điê •n tử đầu tiên ra đời, các nhà khoa học máy tính đã hướng đến phát hiển hê • thống máy tính (gồm cả phần cứng và phần mềm) sao cho nó có khả năng thông minh như loài người Mặc dù cho đến nay, theo quan niê •m của người viết, ước mơ này vẫn còn xa mới thành hiê •n thực, tuy vâ •y những thành tựu đạt được cũng không hề nhỏ: chúng ta đã làm được các hê • thống (phần mềm chơi cờ vua chạy trên siêu máy tinh GeneBlue) có thể thắng được vua cờ thế giới; chúng ta đã làm được các phần mềm có thể chứng minh được các bài toán hình học; v.v Hay nói cách khác, trong một số lĩnh vực, máy tính có thể thực hiê •n tốt hơn hoặc tương đương con người (tất nhiên không phải tất cả các lĩnh vực) Đó chính là các hê • thống thông minh
6
Trang 7Có nhiều cách tiếp câ •n để làm ra trí thông minh của máy (hay là trí tuê • nhân tạo), chẳng hạn là nghiên cứu cách bộ não người sản sinh ra trí thông minh của loài người như thế nào rồi ta bắt chước nguyên lý đó, nhưng cũng có những cách khác sử dụng nguyên lý hoàn toàn khác với cách sản sinh ra trí thông minh của loài người mà vẫn làm ra cái máy thông minh như hoặc hơn người; cũng giống như máy bay hiê •n nay bay tốt hơn con chim do nó có cơ chế bay không phải là giống như cơ chế bay của con chim
Như vâ •y, trí tuê • nhân tạo ở đây là nói đến khả năng của máy khi thực hiê •n các công viê •c mà con người thường phải xử lý; và khi dáng vẻ ứng xử hoặc kết quả thực hiê •n của máy là tốt hơn hoặc tương đương với con người thì ta gọi đó là máy thông minh hay máy đó có trí thông minh Hay nói cách khác, đánh giá sự thông minh của máy không phải dựa trên nguyên lý nó thực hiê •n nhiê •m vụ đó có giống cách con người thực hiê •n hay không mà dựa trên kết quả hoặc dáng vẻ ứng
xử bên ngoài của nó có giống với kết quả hoặc dáng vẻ ứng xử của con người hay không
Các nhiê •m vụ của con người thường xuyên phải thực hiê •n là: giải bài toán (tìm kiếm, chứng minh, lâ •p luâ •n), học, giao tiếp, thể hiê •n cảm xúc, thích nghi với môi trường xung quanh, v.v., và dựa trên kết quả thực hiê •n các nhiê •m vụ đó để kết luâ •n rằng một ai đó có là thông minh hay không Môn học Trí tuê • nhân tạo nhằm cung cấp các phương pháp luâ •n để làm ra hê • thống có khả năng thực hiê •n các nhiê •m vụ đó: giải toán, học, giao tiếp, v.v bất kể cách nó làm có như con người hay không mà là kết quả đạt được hoặc dáng vẻ bên ngoài như con người
Trong môn học này, chúng ta sẽ tìm hiểu các phương pháp để làm cho máy tính biết cách giải bài toán, biết cách lâ •p luâ •n, biết cách học, v.v
1.1.2 Lịch sử
Vào năm 1943, Warren McCulioch và Walter Pitts bắt đầu thực hiê •n nghiên cứu ba cơ sở lý thuyết cơ bản: triết học cơ bản và chức năng của các noron thần kinh;
7
Trang 8phân tích các mê •nh đề logic; và lý thuyết dự đoán của Turing Các tác giả đã nghiên cứu đề xuât mô hình noron nhân tạo, mỗi noron đặc trưng bởi hai trạng thái “bâ •t”,
“tắt” và phát hiê •n mạng noron có khả năng học
Thuâ •t ngữ “Trí tuê • nhân tạo” (Artificial Intelligence - AI) được thiết lâ •p bởi John McCarthy tại Hội thảo đầu tiên về chủ đề này vào mùa hè năm
1956 Đồng thời, ông cũng đề xuất ngôn ngữ lâ •p trình Lisp – một trong những ngôn ngữ lâ •p trình hàm tiêu biểu, được sử dụng trong lĩnh vực AI
Sau đó, Alan Turing đưa ra " Turing test" như là một phương pháp kiểm chứng hành vi thông minh
Thâ •p kỷ 60, 70 Joel Moses viết chương trình Macsyma - chương trình toán học sử dụng cơ sở tri thức đầu tiên thành công Marvin Minsky và Seymour Papert đưa ra các chứng minh đầu tiên về giới hạn của các mạng nơ-ron đơn giản Ngôn ngữ
lâ •p trình logic Prolog ra đời và được phát triển bởi Alain Colmerauer Ted Shortliffe xây dựng thành công một số hê • chuyên gia đầu tiên trợ giúp chẩn đoán trong y học, các hê • thống này sử dụng ngôn ngữ luâ •t để biểu diễn tri thức và suy diễn
Vào đầu những năm 1980, những nghiên cứu thành công liên quan đến AI như các hê • chuyên gia (expert systems) – một dạng của chương trình AI mô phỏng tri thức và các kỹ năng phân tích của một hoặc nhiều chuyên gia con người
Vào những năm 1990 và đầu thế kỷ 21, AI đã đạt được những thành tựu to lớn nhất, AI được áp dụng trong logic, khai phá dữ liê •u, chẩn đoán y học và nhiều lĩnh vực ứng dụng khác trong công nghiê •p Sự thành công dựa vào nhiều yếu tố: tăng khả năng tính toán của máy tính, tâ •p trung giải quyết các bài toán con cụ thể, xây dựng các mối quan hê • giữa AI và các lĩnh vực khác giải quyết các bài toán tương tự, và một
sự chuyển giao mới của các nhà nghiên cứu cho các phương pháp toán học vững chắc
và chuẩn khoa học chính xác
1.1.3 Lĩnh vực của AI
8
Trang 9* Lâ •p luâ •n, suy diễn tự động: Khái niê •m lâ •p luâ •n (reasoning), và suy diễn (reference) được sử dụng rất phổ biến trong lĩnh vực AI Lâ •p luâ •n là suy diễn logic, dùng để chỉ một tiến trình rút ra kết luâ •n (tri thức mới) từ những giả thiết đã cho (được biểu diễn dưới dạng cơ sở tri thức) Như vâ •y, để thực hiê •n lâ •p luâ •n người ta cần có các phương pháp lưu trữ cơ sở tri thức và các thủ tục lâ •p luâ •n trên cơ sở tri thức đó
-Biểu diễn tri thức: Muốn máy tính có thể lưu trữ và xử lý tri thức thì cần đây bao gồm các ngôn ngữ biểu diễn và các kỹ thuâ •t xử lý tri thức Một ngôn ngữ biểu diễn tri thức được đánh giá là “tốt” nếu nó có tính biểu đạt cao và các tính hiê •u quả của thuâ •t toán lâ •p luâ •n trên ngôn ngữ đó Tính biểu đạt của ngôn ngữ thể hiê •n khả năng biểu diễn một phạm vi rộng lớn các thông tin trong một miền ứng dụng Tính hiê •u quả của các thuâ •t toán lâ •p luâ •n thể hiê •n chi phí về thời gian và không gian dành cho viê •c lâ •p luâ •n Tuy nhiên, hai yếu tố này dường như đối nghịch nhau, tức là nếu ngôn ngữ có tínhbiểu đạt cao thì thuâ •t toán lâ •p luâ •n trên đó sẽ có độ phức tạp lớn (tính hiê •u quả thấp) và ngược lại (ngôn ngữ đơn giản, có tính biểu đạt thấp thì thuâ •t toán lâ •p luâ •n trên đó sẽ có hiê •u quả cao) Do đó, một thách thức lớn trong lĩnh vực AI
là xây dựng các ngôn ngữ biểu diễn tri thức mà có thể cân bằng hai yếu tố này, tức là ngôn ngữ có tínhbiểu đạt đủ tốt (tùy theo từng ứng dụng) và có thể lâ •p luâ •n hiê •u quả
-Lâ •p kế hoạch: khả năng suy ra các mục đích cần đạt được đối với các nhiê •m
vụ đưa ra, và xác định dãy các hành động cần thực hiê •n để đạt được mục đích đó
-Học máy: là một lĩnh vực nghiên cứu của AI đang được phát triển mạnh mẽ
và có nhiều ứng dụng trong các lĩnh vực khác nhau như khai phá dữ liê •u, khám phá tri thức, …
-Xử lý ngôn ngữ tự nhiên: là một nhánh của AI, tâ •p trung vào các ứng dụng trên ngôn ngữ của con người Các ứng dụng trong nhâ •n dạng tiếng nói, nhâ •n dạng chữ viết, dịch tự động, tìm kiếm thông tin, …
9
Trang 10- Hê • chuyên gia: cung cấp các hê • thống có khả năng suy luâ •n để đưa ra những kết luâ •n Các hê • chuyên gia có khả năng xử lý lượng thông tin lớn và cung cấp các kết luâ •n dựa trên những thông tin đó Có rất nhiều hê • chuyên gia nổi tiếng như các hê • chuyên gia y học MYCIN, đoán nhâ •n cấu trúc phân tử từ công thức hóa học DENDRAL, …
10
Trang 111.2 Phương pháp tìm kiếm
Phương pháp tìm kiếm là một kỹ thuật giải quyết vấn đề liên quan đến việc tìm kiếm một giải pháp cho một vấn đề trong một tập hợp các giải pháp có thể Các phương pháp tìm kiếm có thể được sử dụng để giải quyết nhiều loại vấn đề khác nhau, bao gồm:
Tìm kiếm dữ liệu: Tìm kiếm một giá trị hoặc mẫu cụ thể trong một tập dữ liệu
Tìm kiếm đường đi: Tìm một đường đi từ một điểm đến điểm khác trong một không gian
Tìm kiếm giải pháp: Tìm một giải pháp cho một vấn đề toán học hoặc logic
Có nhiều loại phương pháp tìm kiếm khác nhau, mỗi loại có ưu và nhược điểm riêng Một số phương pháp tìm kiếm phổ biến bao gồm:
- Tìm kiếm theo chiều rộng (Breadth-first search): Tìm kiếm tất cả các giải pháp
có thể, bắt đầu từ giải pháp ban đầu và mở rộng dần dần
- Tìm kiếm theo chiều sâu (Depth-first search): Tìm kiếm một giải pháp bằng cách khám phá sâu một nhánh của không gian tìm kiếm
- Tìm kiếm A:* Một thuật toán tìm kiếm heuristic sử dụng một hàm đánh giá để
ước tính giá trị của một giải pháp
Phương pháp tìm kiếm kinh nghiệm là một loại phương pháp tìm kiếm sử dụng kiến thức và kinh nghiệm của con người để hướng dẫn quá trình tìm kiếm Phương pháp này thường được sử dụng trong các vấn đề tìm kiếm phức tạp, trong đó các thuật toán tìm kiếm thông thường có thể không hiệu quả Có hai loại chính của phương pháp tìm kiếm kinh nghiệm:
- Tìm kiếm heuristic: Sử dụng một hàm đánh giá để ước tính giá trị của một giải pháp Hàm đánh giá được sử dụng để xếp hạng các giải pháp tiềm năng, với các giải pháp có giá trị cao hơn được ưu tiên hơn
Ví dụ: trong vấn đề tìm kiếm đường đi ngắn nhất giữa hai điểm, hàm đánh giá có thể được sử dụng để ước tính độ dài của đường đi Các giải pháp có độ dài ngắn hơn sẽ được ưu tiên hơn
- Tìm kiếm thử nghiệm và sửa lỗi: Sử dụng một quá trình thử và sai để tìm giải pháp Phương pháp này thường được sử dụng trong các vấn đề tìm kiếm không thể được mô hình hóa bằng một hàm đánh giá
Ví dụ: trong vấn đề chơi cờ vua, máy tính có thể thử nghiệm các nước đi khác nhau
để tìm ra cách thắng
11
Trang 12CHƯƠNG 2: GIỚI THIỆU VỀ CHATBOT
2.1.Giới thiệu Chatbot.
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 máy tính tiến hành cuộc trò chuyê•n thông qua các phương pháp thính giác hoặc văn bản có thể tự động trả lời những câu hỏi hoặc xử lý tình huống
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ủa một cửa
hàng hoặc công ty đã tạo ChatBot, bạn chỉ viê •c nhâ •p vào từ khoá, chúng sẽ lâ •p tứ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ủa Microsoft một
vấn đề gì đó như: “Thời tiết hôm nay như thế nào?”, là bạn đã làm viê •c với một ChatBot
12
Trang 132.2 Phân tích bài toán
2.1.1 AIML là gì?
AIML được phát triển bởi Richard Wallace Ông đã tạo ra một bot có tên ALICE (Artificial Linguistic Internet Computer Entity) đã giành được một số giải thưởng về trí tuê • nhân tạo Thâ •t thú vị, một trong những thử nghiê •m Turing để tìm kiếm trí thông minh nhân tạo là trò chuyê •n giữa người với bot thông qua giao diê •n văn bản trong vài phút và xem họ có nghĩ đó là con người không AIML là một dạng XML xác định các quy tắc để khớp các mẫu và xác định các câu trả lời Để
có một đoạn mồi AIML đầy đủ, hãy xem AIML Primer của Alice Bot Bạn cũng có thể tìm hiểu thêm về AIML và những gì nó có khả năng trên trang Wikipedia AIML Chúng tôi sẽ tạo các tê •p AIML trước và sau đó sử dụng Python để cung cấp cho nó một số cuộc sống
13