lOMoARcPSD|59629529
TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN
ĐỀ CƯƠNG CHUYÊN ĐỀ HỌC PHẦN
TÊN HỌC PHẦN
ĐỀ TI:
Xây Dựng Hệ Thống ChatBot
Sinh viên thực hiện
LÊ HỒNG QUANG
PHAN MINH ĐỨC
VŨ VĂN ĐỊNH
Giảng viên hướng dẫn
Ngành
CÔNG NGHỆ THÔNG TIN
CÔNG NGHỆ PHẦN MỀM
Chuyên ngành
D16CNPM
5
Lớp
Khóa
: 2021-2025
Hà Nội, tháng 11 năm 2023
lOMoARcPSD|59629529
PHIẾU CHẤM ĐIỂM
STT
Họ và tên
sinh viên
Nội dung thực hiện
Điểm
Chữ
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
Họ và tên giảng viên
Chữ ký
Ghi chú
Giảng viên chấm 1:
Giảng viên chấm 2:
MC LC
LIỆT KÊ CHỮ VIẾT TẮT .................................................................................................................. 3
PHẦN MỞ ĐẦU .................................................................................................................................. 5
CHƯƠNG 1: GIỚI THIỆU VỀ “AI” VÀ PHƯƠNG PHÁP TÌM KIẾM KINH NGHIỆM ............... 6
1.1 Giới thiệu về AI ......................................................................................................................... 6
1.1.1 Trí tuệ nhân tạo là gì ? ......................................................................................................... 6
1.1.2 Lịch sử..................................................................................................................................... 7
1.1.3 Lĩnh vực của AI .................................................................................................................... 10
1.2 Phương pháp tìm kiếm ............................................................................................................. 14
CHƯƠNG 2: GIỚI THIỆU VỀ CHATBOT ..................................................................................... 15
2.1. Giới thiệu Chatbot ................................................................................................................ 15
2.2. Phân tích bài toán .................................................................................................................... 16
2.1.1. AIML là gì? .......................................................................................................................... 16
2.2 GIẢI QUYẾT BÀI TOÁN ....................................................................................................... 17
2.2.1 Ý tưởng ................................................................................................................................ 17
lOMoARcPSD|59629529
CHƯƠNG 3. CÀI ĐẶT, ĐÁNH GIÁ THỬ NGHIỆM .................................................................... 18
3.1 Cài đặt với C# Winform .......................................................................................................... 18
3.1.1 Cài đặt thuật toán .................................................................................................................. 18
3.2.1 Giao diện chương trình ......................................................................................................... 20
3.2.1.1 Giao diện khi chạy chương trình .................................................................................... 20
3.2.1.2 Giao diện khi nói chuyện .................................................................................................. 21
3.2.2 Kết luận ................................................................................................................................. 21
KT LUN ......................................................................................................................................... 22
LỜI CẢM ƠN .................................................................................................................................... 23
LIỆT KÊ CHỮ VIẾT TẮT
CSI
Current source Inverters
Bộ biến đổi nguồn
dòng
VSI
Voltage source Inverters
Bộ biến đổi nguồn áp
EMTP
ElectroMagnetic transients program
Chương trình tính toán quá độ điện từ
EAF
Electric Arc Furnace
Lò hồ quang điện
PWM
Pulse Width Modulation
Bộ điều khiển biến điệu độ rộng xung
THD
Total harmonic distortion
Tổng độ méo hài
TDD
Total deman distortion
Độ méo yêu cầu tổng
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
lOMoARcPSD| 59629529
TSC
Thyristor Switched Capacitor
Bộ tụ đóng mở bằng thyristor
TSR
Thyristor Switched Reactor
Bộ kháng đóng mở bằng thyristor
lOMoARcPSD|59629529
PHẦ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ầ
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 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 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,
một chương trình được tạo ra từ máy nh tiến hành cuộc trò chuyê thông qua các
phương pháp nhâp văn bản, âm thanh, cảm ứng thể trả lời các hỏi và xử
các tình huống, một công 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, Watso 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…..
liêu này giúp ta 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 hạ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 đề tài
nhằm mục đích xây dựng một 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
ý đá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 n nhiều sai sót. Em rấ
mong nhân được nhậ n xét và đánh giá góp ý của các thầy.
Em xin chân thành cảm ơn!
CHƯƠNG 1: GIỚI THIỆU VỀ “AI” V PHƯƠNG PHÁP TÌM
lOMoARcPSD|59629529
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) chúng ta bắt đầu vớ
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 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 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 “vỗ cánh” như con chim chỉ thể bay được quãng
đường rất ngắn 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 của khí động lực học
(aerodynamics).
Các máy bay hiên nay, như đã thấy, 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ủ
máy do con người tạo ra. Ngay tkhi chiếc máy tính điên tử đầu tiên ra đời, 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ầ cứng
phần mềm) sao cho khả năng thông minh như loài người. Mặc 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àn hiên thực, tuy vậ
y những thành tựu đạt được cũng không hề nhỏ: chúng ta đã đượ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 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 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.
lOMoARcPSD|59629529
Có nhiều cách tiếp cân để làm ra trí thông minh của máy (hay là trí tu nhâ
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 đó, nhưng cũng những cách khác
sdụng nguyên hoàn toàn khác với cách sản sinh ra tthông minh của loài người
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 nói đến khả năng của máy khi thực hi
các công viêc mà con người thường phải xử lý; khi dáng vẻ ứng xử hoặc
kế 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á
(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ớị
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ế
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ằ cung cấp các phương pháp luân để làm ra hệ thống 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 như con ngườ 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ê
nghiên cứu ba cơ sở thuyết cơ bản: triết học cơ bản và chức năng của các
lOMoARcPSD|59629529
noron thần kinh; phân tích các mênh đề logic; thuyết dự đoán củ
Turing. Các tác giả đã nghiên cứu đxuât hình noron nhân tạo, mỗi
noron đặc trưng bởi hai trạng thái “bât”, “tắtvà phát hi n mạng noron có
lOMoARcPSD| 59629529
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 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ư 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ìn
toán học sử dụng sở tri thức đầu tiên thành công. Marvin Minsky
Seymour Papert đưa ra các chứng minh đầu tiên về giới hạn của các mạng -
ron đơn giản. Ngôn ngữ lâp trình logic Prolog ra đời được phát triể bởi
Alain Colmerauer. Ted Shortliffe xây dựng thành công mt số chuyên gia
đầu tiên trợ giúp chẩn đoán trong y học, các thống này sử dng 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 chuyên gia (expert systems) một dạng của chương
trình AI phỏng tri thức 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 đầ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
học nhiều lĩnh vực ứng dụng khác trong công nghiêp. Sự thành công da
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ả quyết
các bài toán con cụ thể, xây dựng các mối quan hê giữa AI c lĩnh vực
khác giải quyết các bài toán tương tự, 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 chuẩn khoa
học chính xác.
lOMoARcPSD|59629529
1.1.3 Lĩnh vực của AI
* Lâp lu n, suy diễn tự động: Khái niệ m l p lu n (reasoning), và suy diễ
(reference) được sử dụng rất phổ biến trong lĩnh vực AI. Lâp luận là suy diễ
lOMoARcPSD|59629529
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 sở tri thức). Như vây, để thực hi 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
có các phương pháp biểu diễn tri thức. Các phương pháp biểu diễn tri thức ở
đâ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ô
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ủạ 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 ti 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ệ chi phí về
thời gian và không gian dành cho viêc l p lu n. Tuy nhiên, hai yếụ 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 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 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,…
lOMoARcPSD|59629529
- 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 dạng chữ viết, dịch tự động, tìm kiếm thông tin,
lOMoARcPSD|59629529
- 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ổị 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,
- Robotics
lOMoARcPSD|59629529
1.2 Phương pháp tìm kiếm
lOMoARcPSD|59629529
CHƯƠ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ạ , 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.
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). dụ
2: Nếu như bạn đã hỏi “trợ lý ảoSiri 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.
lOMoARcPSD|59629529
2.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 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ì
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
văn bản trong vài phút xem họ có nghĩ đó con người không. AIML 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 những gì nó 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.
lOMoARcPSD|59629529
2.2 GIẢI QUYẾT BI TOÁN
2.2.1 Ý tưởng
Đây là phiên bản XML để viết mã AI. đây bất cứ khi nào bạn đặt câu
hỏi của mình, thì hê thống sẽ tìm tậ p hợp các câu hỏi được xác địn trước từ
mẫu AIML. Nếu tìm thấy câu hỏi phù hợp với hình của nó, thì sẽ
trả lời phản hồi tích cực và strả lời. Giả sử bạn hỏi nó như muốn nói tên của
nó, thì sẽ nói tôi là ChatBot. Nhưng nếu câu hỏi của bạn vượt ra ngoài giới
hạn hoặc nói ra khỏi phạm vi, thì sẽ trả lời với một cái đó khác
không biết bạn đang yêu cầu gì. Toàn bộ khái niêm này sử dụng
AI và nhắm
thuât toán. có thể lợi cho các trang web của bạn, người dùng yêu
cầu rất nhiều thứ.
lOMoARcPSD|59629529
CHƯƠNG 3. CI ĐẶT, ĐÁNH GIÁ THỬ NGHIỆM
3.1 Cài đặt với C# Winform
3.1.1 Cài đặt thuật toán
using System;
using System.Collections.Generic;
using System.Linq; using
System.Threading.Tasks; using
System.Windows.Forms; using
AIMLbot;
namespace ChatBotProject
{ static class Program
{ static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
} public class
ChatBot
{
const string UserId = "szabist";
private Bot AimlBot; private
User myUser;
public ChatBot()
{
AimlBot = new Bot();
myUser = new User(UserId, AimlBot);
Initialize(); }
// Loads all the AIML files in the \AIML folder
public void Initialize()
{
AimlBot.loadSettings();
AimlBot.isAcceptingUserInput = false;
AimlBot.loadAIMLFromFiles();
AimlBot.isAcceptingUserInput = true;
lOMoARcPSD|59629529
}
// Given an input string, finds a response using AIMLbot lib
lOMoARcPSD|59629529
public String getOutput(String input)
{
Request r = new Request(input, myUser, AimlBot);
Result res = AimlBot.Chat(r);
return (res.Output);
}
}
}
3.2.1 Giao diện chương trình
3.2.1.1 Giao diện khi chạy chương trình
Hình 7: Giao diện khi chạy chương trình

Preview text:

lOMoARcPSD| 59629529
TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN
ĐỀ CƯƠNG CHUYÊN ĐỀ HỌC PHẦN TÊN HỌC PHẦN ĐỀ 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 Ngành
: CÔNG NGHỆ THÔNG TIN Chuyên ngành
: CÔNG NGHỆ PHẦN MỀM Lớp
: D16CNPM 5 Khóa : 2021-2025
Hà Nội, tháng 11 năm 2023 lOMoARcPSD| 59629529 PHIẾU CHẤM ĐIỂM STT Họ và tên
Nội dung thực hiện Điểm Chữ sinh viên 1 Phan Minh
Giới thiệu về “AI” và phương pháp tìm Đức kiếm kinh nghiệm 2 Phạm Hồng +Giới thiệu về chatbot Quang
+Cài đặt đánh giá và thử nghiệm
Họ và tên giảng viên Chữ ký Ghi chú Giảng viên chấm 1: Giảng viên chấm 2: MỤC LỤC
LIỆT KÊ CHỮ VIẾT TẮT .................................................................................................................. 3
PHẦN MỞ ĐẦU .................................................................................................................................. 5
CHƯƠNG 1: GIỚI THIỆU VỀ “AI” VÀ PHƯƠNG PHÁP TÌM KIẾM KINH NGHIỆM ............... 6
1.1 Giới thiệu về AI ......................................................................................................................... 6
1.1.1 Trí tuệ nhân tạo là gì ? ......................................................................................................... 6
1.1.2 Lịch sử..................................................................................................................................... 7
1.1.3 Lĩnh vực của AI .................................................................................................................... 10
1.2 Phương pháp tìm kiếm ............................................................................................................. 14
CHƯƠNG 2: GIỚI THIỆU VỀ CHATBOT ..................................................................................... 15
2.1. Giới thiệu Chatbot ................................................................................................................ 15
2.2. Phân tích bài toán .................................................................................................................... 16
2.1.1. AIML là gì? .......................................................................................................................... 16
2.2 GIẢI QUYẾT BÀI TOÁN ....................................................................................................... 17
2.2.1 Ý tưởng ................................................................................................................................ 17 lOMoARcPSD| 59629529
CHƯƠNG 3. CÀI ĐẶT, ĐÁNH GIÁ THỬ NGHIỆM .................................................................... 18
3.1 Cài đặt với C# Winform .......................................................................................................... 18
3.1.1 Cài đặt thuật toán .................................................................................................................. 18
3.2.1 Giao diện chương trình ......................................................................................................... 20
3.2.1.1 Giao diện khi chạy chương trình .................................................................................... 20
3.2.1.2 Giao diện khi nói chuyện .................................................................................................. 21
3.2.2 Kết luận ................................................................................................................................. 21
KẾT LUẬN ......................................................................................................................................... 22
LỜI CẢM ƠN .................................................................................................................................... 23
LIỆT KÊ CHỮ VIẾT TẮT Bộ biến đổi nguồn dòng CSI Current source Inverters VSI Voltage source Inverters
Bộ biến đổi nguồn áp
EMTP ElectroMagnetic transients program
Chương trình tính toán quá độ điện từ EAF Electric Arc Furnace Lò hồ quang điện PWM Pulse Width Modulation
Bộ điều khiển biến điệu độ rộng xung THD Total harmonic distortion Tổng độ méo hài TDD Total deman distortion Độ méo yêu cầu tổng TVVS s
Transient Voltage surge suppressors Bộ bảo vệ quá áp Static VAR Compensator
Bộ bù tĩnh công suất phản kháng có điều khiển SVC Thyristor Controlled Reactor
Bộ kháng điều khiển bằng thyristor TCR lOMoAR cPSD| 59629529 Thyristor Switched Capacitor
Bộ tụ đóng mở bằng thyristor TSC Thyristor Switched Reactor
Bộ kháng đóng mở bằng thyristor TSR lOMoARcPSD| 59629529 PHẦ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ầṃ
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êṇ 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âụ 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, Watsoṇ 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àị
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êṇ 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ệ ṇ đề 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ấṭ
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!
CHƯƠNG 1: GIỚI THIỆU VỀ “AI” V PHƯƠNG PHÁP TÌM lOMoARcPSD| 59629529 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ớị
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ủạ
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ầṇ 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ànḥ 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àṃ đượ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.̣ lOMoARcPSD| 59629529
Có nhiều cách tiếp cân để làm ra trí thông minh của máy (hay là trí tuệ nhâṇ
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ệ
ṇ 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ếṭ 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áṇ
(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ớị
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ếṭ
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ằṃ 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ườị 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êṇ
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 lOMoARcPSD| 59629529
noron thần kinh; phân tích các mênh đề logic; và lý thuyết dự đoán củạ
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ó ̣ lOMoAR cPSD| 59629529 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ìnḥ
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ểṇ 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 ỵ
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ảị 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. lOMoARcPSD| 59629529
1.1.3 Lĩnh vực của AI
* Lâp luậ n, suy diễn tự động: Khái niệ m lậ p luậ n (reasoning), và suy diễṇ
(reference) được sử dụng rất phổ biến trong lĩnh vực AI. Lâp luận là suy diễṇ lOMoARcPSD| 59629529
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ệ ṇ 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
có các phương pháp biểu diễn tri thức. Các phương pháp biểu diễn tri thức ở
đâ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ôṇ
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ủạ 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 tiṇ 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ệ ṇ chi phí về
thời gian và không gian dành cho viêc lậ p luậ n. Tuy nhiên, hai yếụ 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ậ ṇ 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ệ ṃ 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,… lOMoARcPSD| 59629529 -
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ậ ṇ dạng chữ viết, dịch tự động, tìm kiếm thông tin,… lOMoARcPSD| 59629529 -
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ổị 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, … - Robotics lOMoARcPSD| 59629529
1.2 Phương pháp tìm kiếm lOMoARcPSD| 59629529
CHƯƠ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ạọ , 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.̣ lOMoARcPSD| 59629529
2.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ìṃ
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ệ ṇ
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. lOMoARcPSD| 59629529
2.2 GIẢI QUYẾT BI TOÁN 2.2.1 Ý tưởng
Đây là phiên bản XML để viết mã AI. Ở đây bất cứ khi nào bạn đặt câu
hỏi của mình, thì hê thống sẽ tìm tậ p hợp các câu hỏi được xác địnḥ trước từ
mẫu AIML. Nếu nó tìm thấy câu hỏi phù hợp với mô hình của nó, thì nó sẽ
trả lời phản hồi tích cực và sẽ trả lời. Giả sử bạn hỏi nó như muốn nói tên của
nó, thì nó sẽ nói tôi là ChatBot. Nhưng nếu câu hỏi của bạn vượt ra ngoài giới
hạn hoặc nói ra khỏi phạm vi, thì nó sẽ trả lời với một cái gì đó khác mà nó
không biết bạn đang yêu cầu gì. Toàn bộ khái niêm này sử dụng ̣ AI và nhắm
thuât toán. Nó có thể có lợi cho các trang web của bạn, nơị người dùng yêu cầu rất nhiều thứ. lOMoARcPSD| 59629529
CHƯƠNG 3. CI ĐẶT, ĐÁNH GIÁ THỬ NGHIỆM
3.1 Cài đặt với C# Winform
3.1.1 Cài đặt thuật toán using System;
using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; using AIMLbot; namespace ChatBotProject { static class Program { static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } } public class ChatBot {
const string UserId = "szabist"; private Bot AimlBot; private User myUser; public ChatBot() { AimlBot = new Bot();
myUser = new User(UserId, AimlBot); Initialize(); }
// Loads all the AIML files in the \AIML folder public void Initialize() { AimlBot.loadSettings();
AimlBot.isAcceptingUserInput = false; AimlBot.loadAIMLFromFiles();
AimlBot.isAcceptingUserInput = true; lOMoARcPSD| 59629529 }
// Given an input string, finds a response using AIMLbot lib lOMoARcPSD| 59629529
public String getOutput(String input) {
Request r = new Request(input, myUser, AimlBot); Result res = AimlBot.Chat(r); return (res.Output); } } }
3.2.1 Giao diện chương trình
3.2.1.1 Giao diện khi chạy chương trình
Hình 7: Giao diện khi chạy chương trình