You are on page 1of 37

TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM

KHOA CÔNG NGHỆ THÔNG TIN

-----***-----

BÁO CÁO NGHIÊN CỨU KHOA HỌC CẤP KHOA

TÊN ĐỀ TÀI

XÂY DỰNG TRỢ LÝ ẢO CỐ VẤN HỌC TẬP CHO


SINH VIÊN KHOA CNTT, TRƯỜNG ĐHHHVN

Tên chủ nhiệm đề tài: Nguyễn Văn Huy

Thành viên tham gia: Đào Mạnh Thái

GVHD: TS. Hồ Thị Hương Thơm

Hải Phòng,Tháng 04 năm 2021


TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM
KHOA CÔNG NGHỆ THÔNG TIN

-----***-----

BÁO CÁO NGHIÊN CỨU KHOA HỌC CẤP KHOA

TÊN ĐỀ TÀI

XÂY DỰNG TRỢ LÝ ẢO CỐ VẤN HỌC TẬP CHO


SINH VIÊN KHOA CNTT, TRƯỜNG ĐHHHVN

Tên chủ nhiệm đề tài: Nguyễn Văn Huy

Thành viên tham gia: Đào Mạnh Thái

GVHD: TS. Hồ Thị Hương Thơm

Hải Phòng, tháng 04 năm 2021


MỤC LỤC
DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT......................................................4
DANH MỤC HÌNH.................................................................................................6
LỜI MỞ ĐẦU..........................................................................................................7
CHƯƠNG 1. GIỚI THIỆU TỔNG QUAN...........................................................9
1.1 Khái niệm chatbot..........................................................................................9
1.2 Ứng dụng của chatbot..................................................................................10
1.3 Phương pháp xây dựng................................................................................15
CHƯƠNG 2. XÂY DỰNG TRỢ LÝ ẢO CỐ VẤN HỌC TẬP.........................18
2.1 Cơ sở lý thuyết..............................................................................................18
2.1.1 AI(Trí tuệ nhân tạo)..............................................................................18
2.1.2 Machine Learning..................................................................................20
2.1.3 AIML (Artificial Intelligence Markup Language).............................22
2.1.4 NLP (Natural Language Processing)...................................................22
2.2 Xây dựng trợ lý ảo.......................................................................................24
CHƯƠNG 3. CÀI ĐẶT VÀ THỬ NGHIỆM......................................................25
3.1 Môi trường sử dụng và ngôn ngữ sử dụng................................................25
3.2 Giao diện demo.............................................................................................26
3.3 Thử nghiệm và đánh giá..............................................................................28
3.3.1 Thử nghiệm............................................................................................28
3.3.2 Đánh giá..................................................................................................29
3.4 Chương trình demo......................................................................................30
KẾT LUẬN............................................................................................................33
TÀI LIỆU THAM KHẢO.....................................................................................35
DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT

Từ viết
Từ chuẩn Diễn giải
tắt

AI Artificial intelligence  Trí tuệ nhân tạo

ML Machine Learning Học máy

Artificial Intelligence
AIML Ngôn ngữ trí tuệ nhân tạo
Markup Language

XML Extensible Markup Language Ngôn ngữ đánh dấu mở rộng

NLP Natural Language Processing Xử lý ngôn ngữ tự nhiên

Application Programming
API Giao diện lập trình ứng dụng
Interface

Ngữ pháp không có ngữ


CFG Context-free grammar
cảnh.

CCG Combinatory categorial Ngữ pháp danh mục kết nối


grammar

DG Dependency gramma Ngữ pháp phụ thuộc

Ngôn ngữ đánh dấu siêu văn


HTML Hypertext Markup Language
bản
DANH MỤC HÌNH

Hình 1.1: Chatbot xuất hiện ở mọi lĩnh vực thiết yếu........................................12
Hình 1.2. Chatbot trong TMĐT...........................................................................13
Hình 1.3: Chatbot trong y tế.................................................................................14
Hình 1.3: chatbot trong du lịch............................................................................15
Hình 1.4: chatbot trong ngân hàng......................................................................16
Hình 3.1: Giao diện trang chủ..............................................................................28
Hình 3.2: Giao diện thiết lập web bằng HTML..................................................28
Hình 3.3: Giao diện kho dữ liệu được sử dụng AIML.......................................29
Hình 3.4: Giao diên sau khi chatbot trả lời.........................................................29
Hình 3.5: Chương trình Chatbot.........................................................................31
Hình 3.6: Giao diện ban đầu.................................................................................32
Hình 3.7: Chatbot phản hồi lại câu hòi người dùng...........................................33
LỜI MỞ ĐẦU

Ngày nay, trí tuệ nhân tạo đang càng ngày phát triển mạnh mẽ. Các hãng lớn
như Apple, Microsoft, Google đều đưa ra các công nghệ tương tác trực tiếp với
người dùng. Trí tuệ nhân tạo đang càng ngày được nâng cấp hoàn thiện giúp người
dùng dễ dàng tương tác dễ dàng sử dụng và giảm quá trình thực hiện. Trí tuệ nhân
tạo đang là một lĩnh vực mới mẻ và được sử quan tâm rất lớn từ các hãng công
nghệ hàng đầu. Với công nghệ ngày nay càng được áp dụng trong đời sống giúp
con người làm việc hiệu quả hơn tiết kiệm thời gian và sức lực, trí tuệ nhân tạo như
một hệ thống được xây dựng phục vụ hiệu quả cho điều đó.

Hệ thống trợ lý ảo là một hệ thống giúp con người giao tiếp với máy thực
hiện các yêu cầu ý muốn của người dùng. Hiện nay trên thế giới hệ thống trợ lý ảo
đang được nghiên cứu và phát triển mạnh mẽ ở các hãng công nghệ hàng đầu thế
giới. Với mong muốn hiểu sâu về trí tuệ nhân tạo, nhóm chúng em quyết định chọn
đề tài “Xây dựng trợ lý ảo cho cố vấn học tập” làm đề tài nghiên cứu. Qua đề tài
chúng em muốn nâng cao sự hiểu biết về trí tuệ nhân tạo.

Nội dung chính của báo cáo được trình bày trong ba chương cụ thể như sau:

CHƯƠNG 1. Ở chương này chúng ta sẽ tìm hiểu xem chatbot là gì? Các ứng
dụng cụ thể của chatbot trong đời sống xã hội, lợi ích khi có chatbot hỗ trợ và cuối
cùng là các bước để xây dựng được một chatbot hoàn thiện.

CHƯƠNG 2. Để thiết kế được chatbot thì việc đầu tiên chúng ta phài làm là
nắm được lý thuyết về AI, Machine learning, NPL, AIML. Sau đó nhóm chúng
em trình bày cho mọi người về thuật toán để xây dựng chatbot, và nội dung chatbot
mà chúng em đã xây dựng

CHƯƠNG 3. Cuối cùng là thực nghiệm và đánh giá, tại đây chúng em sẽ
đưa ra chatbot demo để cho mọi người thấy chatbot của chúng em được xây dựng
như thế nào, hoạt động ra sao.
CHƯƠNG 1. GIỚI THIỆU TỔNG QUAN

1.1 Khái niệm chatbot

Chatbot là một phần mềm ứng dụng dùng để thực hiện một cuộc trò chuyện
trên mạng trò chuyện thông qua văn bản hoặc text-to-speech, thay vì cung cấp tiếp
xúc trực tiếp với một tác nhân con người sống. Chatbot là một loại phần mềm có
thể tự động hóa các cuộc trò chuyện và tương tác với mọi người thông qua các nền
tảng nhắn tin. Được thiết kế để mô phỏng một cách thuyết phục cách con người cư
xử như một đối tác trò chuyện, các hệ thống chatbot thường yêu cầu điều chỉnh và
thử nghiệm liên tục và nhiều hệ thống đang sản xuất vẫn không thể trò chuyện đầy
đủ hoặc vượt qua bài kiểm tra turing tiêu chuẩn ngành. Thuật ngữ "ChatterBot"
ban đầu được đặt ra bởi Michael Mauldin (người tạo ra VERBOT đầu tiên) vào
năm 1994 để mô tả các chương trình trò chuyện này

Chatbot được sử dụng trong các hệ thống hội thoại cho nhiều mục đích khác
nhau bao gồm dịch vụ khách hàng, định tuyến yêu cầu hoặc thu thập thông tin.
Trong khi một số ứng dụng chatbot sử dụng quy trình phân loại từ mở rộng, bộ xử
lý ngôn ngữ tự nhiên và AI tinh vi, những ứng dụng khác chỉ cần quét các từ khóa
chung và tạo câu trả lời bằng cách sử dụng các cụm từ phổ biến thu được từ thư
viện hoặc cơ sở dữ liệu được liên kết.

Hầu hết các chatbot đều được truy cập trực tuyến thông qua cửa sổ bật lên của
trang web hoặc thông qua trợ lý áo. Chúng có thể được phân loại thành các danh
mục sử dụng bao gồm: thương mại (thương mại điện tử qua trò chuyện), giáo dục,
giải trí, tài chính, sức khỏe, tin tức và năng suất.
1.2 Ứng dụng của chatbot

Thay vì các nhân viên tư vấn hỗ trợ là người thật, xuất hiện ngày càng phổ
biến các website, ứng dụng của tổ chức doanh nghiệp trang bị nhân viên “ảo” là
các Chatbot có thể trả lời, phản hồi tức thì khách hàng 24/7 ở nhiều lĩnh vực như
tiếp thị, bán hàng online, dịch vụ bán lẻ, đặt vé, đặt phòng, thanh toán, truyền
thông, tư vấn, chăm sóc khách hàng, giải đáp thắc mắc người mua hàng...

Với việc tích hợp các công nghệ mới như trí tuệ nhân tạo (AI) trong Chatbot
đang dần trở nên thông minh hơn và trở thành công cụ đắc lực giúp các doanh
nghiệp tự động hóa một số quy trình trong kinh doanh, tăng hiệu suất kinh doanh
và cắt giảm chi phí nhân lực, hỗ trợ tốt các yêu cầu chăm sóc khách hàng, nâng cao
trải nghiệm người dùng.

Nếu như trước đây, Chatbot là một khái niệm xa vời thì đến nay đã được
nhiều doanh nghiệp, thậm chí một số cơ quan nhà nước đẩy mạnh ứng dụng. Các
dự báo cho thấy sự tăng trưởng của Chatbot đã tác động tích cực tới các doanh
nghiệp sử dụng.

Các hãng công nghệ hàng đầu thế giới như Microsoft, Amazon, Google,
Facebook… đều đang tích cực đầu tư, phát triển các nền tảng công nghệ Chatbot
của riêng mình. Với tốc độ phổ biến nhanh chóng như hiện nay, trong tương lai
gần Chatbot sẽ trở thành kênh thay thế hiệu quả cho những công việc đơn giản,
giải đáp trực tuyến. Vậy chatbot hiện nay đang hoạt đông ở những lĩnh vực nào:
Hình 1.1: Chatbot xuất hiện ở mọi lĩnh vực thiết yếu

 Thương mại điện tử

Một trong những bước quan trọng giúp kết nối doanh nghiệp với người
dùng đó chính là dịch vụ chăm sóc khách hàng. Chatbot ra đời đã và đang
giúp các doanh nghiệp tự động hóa dịch vụ khách hàng, giải phóng nguồn
nhân lực khỏi những nhiệm vụ đơn giản, lặp đi lặp lại nhàm chán. Nhân viên
tư vấn sẽ tập trung vào những công việc quan trọng và phức tạp hơn.

Đối với trang thương mại điện tử, số lượng hàng hóa khổng lồ đến từ
nhiều gian hàng khác nhau, để chatbot có thể tư vấn và đưa ra các sự lựa chọn
phù hợp cho khách hàng là một việc không hề đơn giản. Tuy nhiên, đối với
những vấn đề chung thường gặp, chatbot hoàn toàn có thể xử lí và gửi những
câu trả lời chính xác đến khách hàng. Một số vấn đề khách hàng quan tâm mà
chatbot có thể tư vấn như:

- Hướng dẫn người dùng cách mua hàng;


- Hướng dẫn chính sách giao hàng, đổi trả hàng: người tạo bot có thể
huấn luyện chatbot hiểu cách xác nhận thông tin khách hàng một cách
chính xác, hay những quy định mà người dùng cần biết để đổi trả hàng;

Hình 1.2. Chatbot trong TMĐT

 Y tế

Cùng giống như với các ngành khác, chat bot cũng là một sự can thiệp
của công nghệ vào y tế. Sử dụng chat bot sẽ giúp cho bạn dễ dàng trò chuyện
với các khách hàng tiềm năng, các bệnh nhân, đối tác và các khách hàng một
cách nhanh chóng nhất.

Có 2 lợi ích của chat bot được sử dụng trong ngành này. Loại đầu tiên
giúp cho người dùng theo dõi tiến trình và phân tích các thông tin sức khỏe
của người bệnh, khám phá và mua các sản phẩm chức năng khác.

Loại thứ 2 sẽ giúp kết nối trực tiếp bệnh nhân với nhà cung cấp hoặc các
phòng khám. Loại chat bot này có thể kiểm tra các triệu chứng người bệnh
dựa trên từ khóa và chuyển các bệnh này đến bác sĩ trong trường hợp cần
thiết. Một vài chat bot còn giữ vai trò là nhà trị liệu ảo, có thể giới thiệu bệnh
nhân đến các bác sĩ tâm lý thật.
Hình
1.3: Chatbot trong y tế

 Du lịch

Mặc dù chat bot không thể thay thế hoàn toàn con người, tuy nhiên các
ứng dụng chat bot lĩnh vực du lịch là rất đáng kể. Chat bot về cơ bản có thể
hoạt động như một nhân viên du lịch ảo, đưa ra các gợi ý phù hợp với từng cá
nhân dựa trên sở thích, yêu cầu của người dùng. Giúp trả lời các câu hỏi
thường gặp, thậm chí có thể là đặt chỗ, đặt lịch ở nhà hàng, khách sạn... 

Các đại lý du lịch có thể tích hợp đưa ra những gợi ý về đặt vé máy bay,
xe lửa, thuê xe, đặt khách sạn và nhà hàng với mức giá cả và chấp nhận đặt
trước, thanh toán. Tất cả có thể đưa vào trong một gói du lịch với nhiều mức
giá khác nhau phù hợp với từng đối tượng khách hàng. Bất kể nhu cầu của
khách hàng tiềm năng của bạn cần là gì? Chat bot đều có thể giải quyết hoặc
hỗ trợ một phần nào đó.
Hình 1.3: chatbot trong du lịch

 Ngân hàng

Các ngân hàng của nước ngoài có thể xem xét tài khoản của bạn và cung
cấp cho bạn các đề xuất về việc phải làm gì với tiền của bạn. Nó có thể cung
cấp cho bạn một chi tiết chi phí của nơi bạn đang chi tiêu tiền của bạn, chi tiêu
của bạn về nợ nần, và làm thế nào bạn có thể di chuyển tiền xung quanh để
tiết kiệm tiền nhiều hơn nữa

Tập trung vào việc tiết kiệm tiền của bạn. Nó phân tích thói quen tiêu
dùng của bạn và cung cấp các cách để giảm chi phí như hủy bỏ các thành viên
mà bạn không còn sử dụng. Ngoài ra, nó có thể thương lượng một số hóa đơn
của bạn cho bạn.

Các chương trình hỗ trợ khách hàng 24/7 và có thể trả lời các câu hỏi về
tài khoản và cung cấp những hiểu biết sâu sắc và đề xuất từ đó giảm chi phí và
nâng cao kinh nghiệm của khách hàng.
Hình 1.4: chatbot trong ngân hàng

1.3 Phương pháp xây dựng

Bước 1: Khảo sát và xây dựng Chatbot

Xây dựng chatbot là quá trình xác định sự tương tác giữa người dùng và
chatbot. Người thiết kế chatbot sẽ xác định tính cách chatbot, các câu hỏi sẽ
được hỏi cho người dùng và tương tác tổng thể. Nó có thể được xem như là
một tập hợp con của một bộ câu hỏi mang tính định hướng tiêu dùng với các
lựa chọn giới hạn. Để tăng tốc quá trình này, người thiết kế có thể sử dụng các
công cụ xây dựng chatbot chuyên dụng, cho phép xem trước ngay lập tức cách
mà chatbot tương tác.

Một phần quan trọng trong xây dựng chatbot cũng tập trung vào việc
kiểm tra người dùng. Kiểm tra người dùng có thể được thực hiện theo các
hướng dẫn để thử nghiệm các giao diện chatbot được xây dựng.

Bước 2: Lựa chọn nền tảng và công cụ xây dựng chatbot

Quá trình xây dựng, thử nghiệm và triển khai chatbot có thể được thực
hiện trên các nền tảng phát triển chatbot như: Mesenger Flatform hoặc API.AI

Rất nhiều công cụ xây dựng chatbot miễn phí được xây dựng dựa trên
hai nền tảng này. Một số công cụ rất nổi tiếng và có nhiều nhà thiết kế chatbot
tin tưởng sử dụng như SnachBot, Chatfuel, Harafunel, … Khi bạn đã có định
hướng cụ thể và công cụ xây dựng chatbot, bạn có thể sử dụng chúng để bắt
đầu tạo ra cho mình một bot chat rồi đấy.

Bước 3: Xây dựng kịch bản và triển khai chatbot

Quá trình xây dựng kịch bản chatbot có thể được chia thành hai nhiệm vụ
chính: hiểu được ý định của người dùng và tạo ra câu trả lời thôi thúc người
dùng chọn câu trả lời đó.

Nhiệm vụ đầu tiên liên quan đến việc hiểu người dùng muốn tìm gì. Hiện
nay, người dùng tương tác với bot dưới dạng văn bản tự do hoặc câu lệnh
thoại. Một kịch bản được đưa ra để xác định người dùng sẽ tương tác như thế
nào với hệ thống. Trong kịch bản sẽ có các câu hỏi và các đáp án để người
dùng lựa chọn. Chatbot kết hợp AI hoàn toàn có thể đọc thông tin người dùng
gửi đến bằng cách lọc các từ khóa và phản hồi lại.

Nhiệm vụ thứ hai liên quan đến các phản hồi mà chatbot sẽ tạo ra và đưa
ra kết quả, gợi ý cho người dùng. Các câu trả lời được bot đưa ra chính là câu
hỏi sau khi người dùng chọn một lựa chọn trong những đáp án của câu hỏi
trước đó.

Bước 4: Phân tích và theo dõi

Việc phân tích sẽ tạo cho bạn một cơ sở dữ liệu khách hàng để bạn tích
hợp thêm các chức năng chăm sóc khách hàng. Ví dụ như việc chúc mừng
sinh nhật khách hàng, gửi thông báo các chương trình khuyến mại hay đơn
giản chỉ là tự động đưa ra các lựa chọn yêu thích khi khách hàng truy cập và
đặt đơn hàng mới.
Việc sử dụng chatbot cũng cần được được theo dõi để phát hiện các lỗi
hoặc vấn đề tiềm ẩn. Theo dõi và phân tích các đoạn chat cũng có thể cung
cấp thông tin hữu ích giúp bạn cải thiện trải nghiệm người dùng (đặc biệt với
người mua hàng). Việc phân tích không chỉ dừng lại ở bước thống kê xem sản
phẩm nào được chọn mua nhiều nhất hay nhóm tuổi khách hàng của bạn là
bao nhiêu,… Nó còn là tiền đề cho giai đoạn bảo trì và cải tiến chatbot sau
này.

Bước 5: Không ngừng cải tiến

Để duy trì tốc độ trò chuyện với việc thay đổi sản phẩm và dịch vụ của
công ty, các nền tảng phát triển chatbot truyền thống yêu cầu bảo trì liên tục.
Điều này có thể giúp bạn đảm bảo hệ thống chatbot luôn hoạt động trơn tru và
ít xảy ra lỗi. Việc cập nhật các kịch bản bán hàng mới cũng sẽ được đảm bảo
không gây ảnh hưởng đến toàn bộ cáu trúc chatbot mà bạn đã xây dựng trước
đó.
CHƯƠNG 2. XÂY DỰNG TRỢ LÝ ẢO CỐ VẤN HỌC TẬP

2.1 Cơ sở lý thuyết

Để thiết kế trợ lý ảo, đầu tiền chúng ta phải biết được AI, MACHINE
LEARNING, AIML, NLP.

2.1.1 AI(Trí tuệ nhân tạo)

AI là một ngành thuộc lĩnh vực khoa học máy tính (Computer science). Là
trí tuệ do con người lập trình tạo nên với mục tiêu giúp máy tính có thể tự động
hóa các hành vi thông minh như con người.

Trí tuệ nhân tạo khác với việc lập trình logic trong các ngôn ngữ lập trình là
ở việc ứng dụng các hệ thống học máy (machine learning) để mô phỏng trí tuệ của
con người trong các xử lý mà con người làm tốt hơn máy tính.

Cụ thể, trí tuệ nhân tạo giúp máy tính có được những trí tuệ của con người
như: biết suy 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,…

Tuy rằng trí thông minh nhân tạo có nghĩa rộng như là trí thông minh trong
các tác phẩm khoa học viễn tưởng, nó là một trong những ngành trọng yếu của tin
học. Trí thông minh nhân tạo liên quan đến cách cư xử, sự học hỏi và khả năng
thích ứng thông minh của máy móc.

Hiện nay AI được chia làm 4 loại chính:

- Loại 1: Công nghệ AI phản ứng.


Công nghệ AI phản ứng có khả năng phân tích những động thái khả
thi nhất của chính mình và của đối thủ, từ đó, đưa ra được giải pháp tối ưu
nhất.

Một ví dụ điển hình của công nghệ AI phản ứng là Deep Blue. Đây là
một chương trình chơi cờ vua tự động, được tạo ra bởi IBM, với khả năng
xác định các nước cờ đồng thời dự đoán những bước đi tiếp theo của đối
thủ. Thông qua đó, Deep Blue đưa ra những nước đi thích hợp nhất. 

- Loại 2: Công nghệ AI với bộ nhớ hạn chế.

Đặc điểm của công nghệ AI với bộ nhớ hạn chế là khả năng sử dụng
những kinh nghiệm trong quá khứ để đưa ra những quyết định trong tương
lai. Công nghệ AI này thường kết hợp với cảm biến môi trường xung
quanh nhằm mục đích dự đoán những trường hợp có thể xảy ra và đưa ra
quyết định tốt nhất cho thiết bị.

Ví dụ như đối với xe không người lái, nhiều cảm biến được trang bị
xung quanh xe và ở đầu xe để tính toán khoảng cách với các xe phía trước,
công nghệ AI sẽ dự đoán khả năng xảy ra va chạm, từ đó điều chỉnh tốc độ
xe phù hợp để giữ an toàn cho xe.

- Loại 3: Lý thuyết trí tuệ nhân tạo.

Công nghệ AI này có thể học hỏi cũng như tự suy nghĩ, sau đó áp
dụng những gì học được để thực hiện một việc cụ thể. Hiện nay, công nghệ
AI này vẫn chưa trở thành một phương án khả thi.
- Loại 4: Tự nhận thức

Công nghệ AI này có khả năng tự nhận thức về bản thân, có ý thức và
hành xử như con người. Thậm chí, chúng còn có thể bộc lộ cảm xúc cũng
như hiểu được những cảm xúc của con người. Đây được xem là bước phát
triển cao nhất của công nghệ AI và đến thời điểm hiện tại, công nghệ này
vẫn chưa khả thi.

1.

1.

2.

2.1.2 Machine Learning

Machine Learning là một ứng dụng của trí tuệ nhân tạo (AI) cung cấp cho
các hệ thống khả năng tự động học hỏi và cải thiện từ kinh nghiệm mà không cần
được lập trình rõ ràng. Học máy tập trung vào việc phát triển các chương trình máy
tính có thể truy cập dữ liệu và sử dụng nó để tự học.

Quá trình học tập bắt đầu với các quan sát hoặc dữ liệu, chẳng hạn như ví
dụ, kinh nghiệm trực tiếp hoặc hướng dẫn, để tìm kiếm các mẫu trong dữ liệu và
đưa ra quyết định tốt hơn trong tương lai dựa trên các ví dụ mà chúng tôi cung cấp.
Mục đích chính là cho phép máy tính học tự động mà không cần sự can thiệp hoặc
trợ giúp của con người và điều chỉnh các hành động cho phù hợp.
Tuy nhiên, bằng cách sử dụng các thuật toán cổ điển của học máy, văn bản
được coi là một chuỗi các từ khóa; thay vào đó, cách tiếp cận dựa trên phân tích
ngữ nghĩa bắt chước khả năng hiểu ý nghĩa của một văn bản của con người.

Các thuật toán học máy thường được phân loại là có giám sát hoặc không
được giám sát.

- Các thuật toán học máy được giám sát

Nó có thể áp dụng những gì đã được học trong quá khứ vào dữ liệu mới
bằng cách sử dụng các ví dụ được gắn nhãn để dự đoán các sự kiện trong
tương lai. Bắt đầu từ việc phân tích một tập dữ liệu huấn luyện đã biết, thuật
toán học tạo ra một hàm được suy ra để đưa ra dự đoán về các giá trị đầu ra.

- Các thuật toán học máy không giám sát

Ngược lại, thuật toán học máy không giám sát được sử dụng khi thông
tin được sử dụng để đào tạo không được phân loại cũng không được dán
nhãn. Nghiên cứu học tập không giám sát làm thế nào các hệ thống có thể
suy ra một chức năng để mô tả một cấu trúc ẩn từ dữ liệu không được gắn
nhãn.

- Các thuật toán Machine Learning bán giám sát

Các thuật toán học máy được giám sát bán nằm ở đâu đó giữa học tập
có giám sát và không giám sát, vì chúng sử dụng cả dữ liệu được gắn nhãn
và không nhãn cho đào tạo - thường là một lượng nhỏ dữ liệu được gắn nhãn
và một lượng lớn dữ liệu không được gắn nhãn. Các hệ thống sử dụng
phương pháp này có thể cải thiện đáng kể độ chính xác trong học tập.

- Thuật toán học máy gia cố

Các thuật toán học máy gia cố là một phương pháp học tương tác với
môi trường của nó bằng cách tạo ra các hành động và phát hiện ra các lỗi
hoặc manh mối. Thử nghiệm và tìm kiếm lỗi và manh mối

Phương pháp này cho phép máy móc, máy tính với phần mềm tự động
xác định hành vi lý tưởng trong một bối cảnh cụ thể để tối đa hóa hiệu suất
của nó.

2.1

2.1.3 AIML (Artificial Intelligence Markup Language)

AIML là một ngôn ngữ đánh dấu dựa trên XML nhằm tạo ra các ứng dụng
thông minh nhân tạo. AIML giúp bạn có thể tạo giao diện con người trong khi vẫn
giữ cho việc triển khai đơn giản để lập trình, dễ hiểu và có khả năng bảo trì
cao. Hướng dẫn này sẽ dạy bạn những điều cơ bản về AIML. Tất cả các thành
phần cơ bản của AIML với các ví dụ phù hợp đã được thảo luận trong hướng dẫn
này.

AIML là một XML cực kỳ đơn giản, giống như Ngôn ngữ đánh dấu siêu văn
bản hoặc HTML. Nó chứa rất nhiều thẻ và thẻ tiêu chuẩn có thể mở rộng, bạn sử
dụng để đánh dấu văn bản để trình thông dịch chạy ẩn hiểu văn bản bạn đã viết
kịch bản.
2.1

2.1.4 NLP (Natural Language Processing)

Xử lý ngôn ngữ tự nhiên là một nhánh của Trí tuệ nhân tạo, tập trung vào
việc nghiên cứu sự tương tác giữa máy tính và ngôn ngữ tự nhiên của con người,
dưới dạng tiếng nói (speech) hoặc văn bản (text). Mục tiêu của lĩnh vực này là giúp
máy tính hiểu và thực hiện hiệu quả những nhiệm vụ liên quan đến ngôn ngữ của
con người như: tương tác giữa người và máy, cải thiện hiệu quả giao tiếp giữa con
người với con người, hoặc đơn giản là nâng cao hiệu quả xử lý văn bản và lời nói.

Xử lý ngôn ngữ tự nhiên có thể được chia ra thành hai nhánh lớn, không
hoàn toàn độc lập, bao gồm xử lý tiếng nói (speech processing) và xử lý văn bản
(text processing).

Xử lý tiếng nói tập trung nghiên cứu, phát triển các thuật toán, chương trình
máy tính xử lý ngôn ngữ của con người ở dạng tiếng nói (dữ liệu âm thanh). Các
ứng dụng quan trọng của xử lý tiếng nói bao gồm nhận dạng tiếng nói và tổng hợp
tiếng nói.

Xử lý văn bản tập trung vào phân tích dữ liệu văn bản. Các ứng dụng quan
trọng của xử lý văn bản bao gồm tìm kiếm và truy xuất thông tin, dịch máy, tóm tắt
văn bản tự động, hay kiểm lỗi chính tả tự động. Xử lý văn bản đôi khi được chia
tiếp thành hai nhánh nhỏ hơn bao gồm hiểu văn bản và sinh văn bản. Nếu như hiểu
liên quan tới các bài toán phân tích văn bản thì sinh liên quan tới nhiệm vụ tạo ra
văn bản mới như trong các ứng dụng về dịch máy hoặc tóm tắt văn bản tự động.
- Phân tích hình vị: là sự nhận biết, phân tích, và miêu tả cấu trúc của hình vị
trong một ngôn ngữ cho trước và các đơn vị ngôn ngữ khác, như từ gốc, biên
từ, phụ tố, từ loại, v.v. Trong xử lý tiếng Việt, hai bài toán điển hình trong
phần này là tách từ (word segmentation) và gán nhãn từ loại (part-of-speech
tagging).

- Phân tích cú pháp: là quy trình phân tích một chuỗi các biểu tượng, ở dạng
ngôn ngữ tự nhiên hoặc ngôn ngữ máy tính, tuân theo văn phạm hình thức.
Văn phạm hình thức thường dùng trong phân tích cú pháp của ngôn ngữ tự
nhiên bao gồm Văn phạm phi ngữ cảnh (Context-free grammar – CFG), Văn
phạm danh mục kết nối (Combinatory categorial grammar – CCG), và Văn
phạm phụ thuộc (Dependency grammar – DG). Đầu vào của quá trình phân
tích là một câu gồm một chuỗi từ và nhãn từ loại của chúng, và đầu ra là một
cây phân tích thể hiện cấu trúc cú pháp của câu đó.

- Phân tích ngữ nghĩa: là quá trình liên hệ cấu trúc ngữ nghĩa, từ cấp độ cụm
từ, mệnh đề, câu và đoạn đến cấp độ toàn bài viết, với ý nghĩa độc lập của
chúng. Nói cách khác, việc này nhằm tìm ra ngữ nghĩa của đầu vào ngôn từ.
Phân tích ngữ nghĩa bao gồm hai mức độ: Ngữ nghĩa từ vựng biểu hiện các
ý nghĩa của những từ thành phần, và phân biệt nghĩa của từ; Ngữ nghĩa
thành phần liên quan đến cách thức các từ liên kết để hình thành những
nghĩa rộng hơn.

- Phân tích diễn ngôn: là phân tích văn bản có xét tới mối quan hệ giữa ngôn
ngữ và ngữ cảnh sử dụng (context-of-use). Phân tích diễn ngôn, do đó, được
thực hiện ở mức độ đoạn văn hoặc toàn bộ văn bản thay vì chỉ phân tích
riêng ở mức câu.

2.2 Xây dựng trợ lý ảo

Với tình hình hiện nay việc một cố vấn học tập phải trả lời rất nhiều các câu
hỏi của sinh viên là chuyện không còn hiếm gặp. Nhưng cái bất cập ở đây là ở chỗ,
những câu hỏi ấy giống nhau. Việc trả lời những câu hỏi giống nhau ấy sẽ rất mệt
mỏi khi vừa trả lời xong cho bạn này thì bạn kia sẽ hỏi lại câu mà mình vừa trả lời,
dẫn đến nhiều bất cập với các thầy, cô.

Nội dung hỗ trợ của chatbot

- Đăng ký học phần

Khi mới vào trường sinh viên sẽ được nhà trường đăng ký lịch học cho kì đầu,
nên việc đăng ký của học sinh là ở kì sau. Do mới vào sinh viên không biết thầy cô
nào dạy tốt để theo học nên sẽ hỏi các thầy, cô cố vấn học tập của mình. Nhiệm vụ
của chatbot ở đây là sẽ thay thế các cố vấn học tập giải quyết vấn đề đăng ký học
phần. Đầu tiên sinh viên sẽ phải đưa ra mình học ở ngành nào, lớp gì. Sau đó
chatbot sẽ gửi cho sinh viên đường link lịch học cụ thể của từng khoa, từng nghành
mà sinh viên đó theo học

- Điểm trung bình tích lũy

Điểm trung bình tích lũy do quá trình học của sinh viên. Nhiệm vụ của chatbot
là đưa ra
- Điểm xét học bổng

- Cảnh báo học tập

- Đổi điểm Toeic

CHƯƠNG 3. CÀI ĐẶT VÀ THỬ NGHIỆM.

1.1

2.1

3.1 Môi trường sử dụng và ngôn ngữ sử dụng

Môi trường: Pycharm

Pycharm là môi trường phát triển tích hợp đa nền tảng (IDE) được phát triển
bởi Jet Brains và được thiết kế đặc biết cho Python

Pycharm là giải pháp phù hợp cho Python developers vì IDE này hỗ trợ nhiều
extensions, môi trường ảo nhiều tính năng thông minh.

Ngoài ra Pycharm còn hỗ trợ đầy đủ các tính năng từ Web development đến
nghiên cứu Khoa Học Dữ Liệu (Data Science) hay Trí tuệ nhân tạo (Machine
Learning, Deep Learning).

Ngôn ngữ: Python


Là ngôn ngữ lập trình hướng đối tượng, cấp cao, mạnh mẽ, được tạo ra bởi
Guido van Rossum. Python nổi lên như một ngôn ngữ dành cho người mới tiếp
xúc.

Python có cú pháp rất đơn giản, dễ dàng, dễ đọc, ngoài ra với việc là mã
nguồn mở nên người dùng có thể tự do sử dụng.

1.1

2.1

3.2
G
i
a
o

diện demo
Hình 3.1: Giao diện trang chủ

Hình 3.2: Giao diện thiết lập web bằng HTML


Hình 3.3: Giao diện kho dữ liệu được sử dụng AIML

Hình 3.4: Giao diên sau khi chatbot trả lời

3.3 Thử nghiệm và đánh giá

3.3.1 Thử nghiệm

Qua mười năm lần thử nghiệm với chatbot.

- Đầu tiên là thử nghiệm với chatbot sử dụng ChatterBotCorpus. Việc sử dụng
ChatterbotCorpus thì chatbot của nhóm chúng em có thể sử dụng hội thoại của
người dùng và lấy nó làm dữ liệu cho những câu trả lời tiếp theo.
- Thứ hai là thử nghiệm chatbot sử dụng ChatBotFB. Sử dụng ChatBotFB thì
chúng em thì người dùng có thể lựa chọn các câu trả lời, đưa ra thông tin cho
người dùng xem.

- Thứ ba là thử nghiệm chatbot sử dụng AIML. Khi sử dụng AIML thì nhóm chúng
em phải sử dụng kho dữ liệu do mình tạo ra, bằng cách tạo ra những câu hỏi đồng
thời là trả lời lại những câu hỏi ấy.

3.3.2 Đánh giá

- Với chatbot sử dụng Corpus thì nhóm chúng em nhận thấy rằng khi Corpus sử
dụng lại đoạn hội thoại của người dùng thì nó sẽ không phản hồi lại đúng những gì
mà người dùng hỏi, ở những lần thử nghiệm tiếp khi tự dùng kho dữ liệu của mình
tạo ra với Corpus nhóm chúng em nhận thấy rằng chatbot không đưa ra bất kì một
câu trả lời nào nữa.

- Thứ hai là ChatBotFB thì sau khi người dùng nhập vào câu hỏi thì chatbot không
nhận tin nhắn để phản hồi cho người dùng. Ngoài ra kho dữ liệu của ChatBotFB
không đồng nhất khi mà người dùng hỏi thì chatbot lại trả lời khác vấn đề mà
người dùng hỏi.

- Cuối cùng là với Chatbot sử dụng AIML. Với việc là sử dụng kho dữ liệu do
chính mình tạo ra thì chatbot phản hồi người dùng một cách nhanh chóng, nhưng
về mặt ngôn ngữ thì aiml vẫn bị hạn chế, nếu không phải là các từ Key thì chatbot
sẽ phản hồi lại một dấu “?”
3.4 Chương trình demo

Đầu tiên sau khi chạy trên pycharm Bằng việc sử dụng Flask(web framework)
tạo một ra một localhost để chạy thử. Chương trình sẽ đưa ra một localhost
http://127.0.0.1:5000/ để chạy chatbot trên đó

Hình 3.5: Chương trình Chatbot


Tiếp đến là kết quả sau khi click vào localhost mà chương trình đã đưa
chúng ta sẽ truy cập đến localhost, dưới đây là phần giao diện ban đầu của

chatbot.

Hình 3.6: Giao diện ban đầu


Để kiểm tra thử xem chatbot của mình đã hoạt động hay chưa chúng em chạy
thử bằng cách chat với Chatbot bằng kho dữ liệu mà mình đã tạo sẵn bằng aiml.
Sau khi thấy được chatbot của đã phản hồi được em tiếp tục tạo thêm dữ liệu phản
hồi bằng aiml. Sau đây là một số kho dữ liệu mà chúng em tự tạo ra
Hình 3.7: Chatbot phản hồi lại câu hòi người dùng

KẾT LUẬN

1. Những mặt đã làm được

Sau khi tìm hiểu và thực hiện đề tài: “Xây dựng trợ lý ảo cố vấn học tập cho
sinh viên” nhóm chúng em đã thực hiện được đề tài theo như yêu cầu cơ bản ban
đầu:

- Nắm được những kiến thức cơ bản về chatbot.

- Xây dựng đoạn hội thoại cho chatbot.

- Thiết lập được cuộc đối thoại tương tác tự động giữa người dùng và máy.

Bên cạnh đó, nhóm chúng em còn tiếp thu thêm được nhiều kiến thức khác
như là về NPL (Ngôn ngữ xử lý tự nhiên). Về kết quả chương trình đã đáp ứng
được những yêu cầu đề ra. Thực hiện trọ chuyện tự động được với chatbot.

2. Những hạn chế, tồn tại

Trong quá trình làm đề tài nghiên cứu mặc dù đã đạt được một số kết quả nhất
định, xong trong quá trình xây dựng trợ lý ảo vẫn còn một số hạn chế nhất định
như:

- Chatbot mới chỉ trả lời được như một đoạn văn bản.
- Khi chatbot gửi một liên kết cho người dùng, liên kết ấy chuyển thành một
câu thay vì là một link cho người dùng bấm vào

- Chưa có trả lời lựa chọn cho người dùng

- Hạn chế về mặt ngôn ngữ.

- Chưa có những từ gợi ý cho người dùng.

3. Hướng phát triển đề tài.

Trong phạm vi đề tài nhóm đã trình bày những phần cơ bản nhất về chatbot và
những ứng dụng của chatbot trong thực tiện. Tuy nhiên việc nghiên cứu sâu hơn về
chatbot cũng như mở rộng thêm cần thời gian để cải tiến trơ nên hiệu quả, tối ưu
hơn nữa. Nhóm chúng em nhận thấy có thể phát triển thêm như sau:

- Phát triển đoạn hội thoại từ việc chatbot chỉ trả lời như một đoạn văn
thành một đoạn hội thoại gồm có: lựa chọn câu trả lời, đưa ra câu trả lời
gợi ý cho người dùng

- Phát triển thêm đoạn hội thoại ở một lĩnh vực khác ngoài CNTT.

- Rút ngắn thời gian đợi trả lời của khách hàng.

- Phân tích câu trả lời thấu hiểu hành vi của khách hàng
TÀI LIỆU THAM KHẢO

[1]https://github.com/codenside/chatbot
[2]https://bizfly.vn/techblog/ung-dung-cua-chatbot-trong-thuong-mai-dien-tu.html
[3]https://www.chatcompose.com/what-are-chatbot.html
[4]https://www.zdnet.com/article/what-is-ai-everything-you-need-to-know-about-
artificial-intelligence/
[5]https://towardsdatascience.com/your-guide-to-natural-language-processing-nlp-
48ea2511f6e1

You might also like