You are on page 1of 32

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP. HỒ CHÍ MINH

ĐỒ ÁN HỌC PHẦN TRÍ TUỆ NHÂN TẠO

Đề tài:

BUILDING CONVERSATIONAL

ENABLED CHATBOTS

Giảng viên Hướng dẫn: TS. Huỳnh Quốc Bảo

Nhóm 13

Sinh Viên Thực Hiện:

Trịnh Quốc Trọng MSSV:2180608444

Vũ Như Quý MSSV:2180607950

Trần Đức Mạnh MSSV:2180608887

TP. Hồ Chí Minh, ..............

1
LỜI MỞ ĐẦU

Trong thời đại công nghệ 4.0, trí tuệ nhân tạo (AI) là một trong những lĩnh
vực nổi bật và có ảnh hưởng sâu rộng đến nhiều ngành nghề và lĩnh vực khác nhau
của xã hội. AI là một nhánh của khoa học máy tính, nghiên cứu cách tạo ra các
máy móc và phần mềm có khả năng học hỏi, suy luận, và tương tác với con người
và môi trường. Một trong những ứng dụng phổ biến và tiềm năng của AI là
chatbot, hay còn gọi là trợ lý ảo, là một chương trình máy tính có khả năng giao
tiếp với con người bằng ngôn ngữ tự nhiên, thông qua các kênh như tin nhắn văn
bản, giọng nói, hoặc hình ảnh. Chatbot có nhiều lợi ích cho con người, như cung
cấp thông tin, giải đáp thắc mắc, hỗ trợ đặt hàng, đặt lịch hẹn, giải trí, giáo dục, và
nhiều nhiệm vụ khác. Chatbot cũng giúp các doanh nghiệp và tổ chức tiết kiệm chi
phí, tăng hiệu quả, và nâng cao trải nghiệm của khách hàng. Tuy nhiên, để tạo ra
một chatbot thông minh, thân thiện, và hữu ích, cần phải có nhiều kiến thức và kỹ
năng về lập trình, xử lý ngôn ngữ tự nhiên, học máy, và thiết kế giao diện người
dùng. Với mong muốn tìm hiểu và khai thác những tiềm năng của chatbot, chúng
em đã chọn đề tài "Chế tạo 1 AI chatbot" làm đồ án môn học. Mục tiêu của đề tài
là xây dựng một chatbot có thể giao tiếp với người dùng bằng tiếng Việt, trả lời
các câu hỏi về một lĩnh vực cụ thể, và thực hiện các yêu cầu của người dùng.

Đây là một đề tài mới mẻ và thực tế, có nhiều thách thức và khó khăn,
nhưng cũng mang lại nhiều cơ hội học tập và nghiên cứu cho chúng em. Chúng em
hy vọng rằng đồ án của chúng em sẽ đóng góp một phần nào đó cho sự phát triển
của chatbot và trí tuệ nhân tạo trong nước, cũng như gây được sự chú ý và quan
tâm của các bạn đọc.

2
LỜI CẢM ƠN

Hệ thống AI Chatbot là chương trình phần mềm cho phép người sử dụng thực hiện
một cách nhanh chóng,chính xác việc......Mong rằng với phần mềm này chúng em có
thể đóng gói phần nào đó đối vào sự phát triển.

Với sự giúp đỡ về tài liệu và kiếm thức, hướng dẫn tận tình của thầy Huỳnh Quốc
Bảo chúng em đã hoàn thành bài báo cáo đồ án này.Do chưa có nhiều kinh nghiệm
nghiên cứu,thực hành nên chúng em cũng không tránh khỏi những thiếu sót.Chúng em
mong muốn nhận được sự đóng góp của thầy để đề tài của chúng em được hoàn thiện
hơn.

Chúng em xin chân thành cảm ơn !

Sinh viên thực hiện

Trần Đức Mạnh

Vũ Như Quý

Trịnh Quốc Trọng

3
NHẬN XÉT

CỦA GIÁO VIÊN HƯỚNG DẪN


................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................

MỤC LỤC:

4
I. Giới Thiệu ............................................................................................6

1. Tầm quan trọng của khả năng giao tiếp tự nhiên của máy

tính(conversatrional)........................................................................6

2. Sự quan trọng của chatbot................................................................6

3. Những vấn đề được đặt ra.................................................................6

4. Giải pháp để giải quyết.....................................................................7

II. Mục Tiêu Sản Phẩm...............................................................................9

III. Cơ Sở Lý Thuyết...................................................................................10

1. Tổng quát về AI...............................................................................11

2. Tổng quát về Chatbot......................................................................12

3. Công nghệ xử lý ngôn ngữ tự nhiên (NLP).....................................13

IV. Thiết Kế và Kiến Trúc Chatbot..............................................................14

1. Cấu trúc của chatbot.........................................................................15

2. Các chức năng..................................................................................16

3. Những công nghệ sự dụng................................................................17

4. Ngôn ngữ lập trình sử dụng..............................................................17

V. Phát Triển Chatbot...................................................................................18

1. Các bước phát triển ..........................................................................18

2. Những thư viện được sử dụng..........................................................19

5
VI. Kiểm Thử và Kiểm Soát Chất Lượng....................................................20

VII. Hướng Dẫn Sử Dụng............................................................................21

VIII. Tổng Kết..............................................................................................22

IX. Tài Liệu Tham Khảo..............................................................................23

CHƯƠNG I: GIỚI THIỆU

1.1 Tầm quan trọng của khả năng giao tiếp tự nhiên của máy tính.

- Khả năng giao tiếp tự nhiên của máy đóng vai trò quan trọng trong việc tạo ra trải
nghiệm người dùng mượt mà và chân thực. Khả năng này không chỉ giúp máy hiểu và
đáp trả ngôn ngữ tự nhiên của con người mà còn tạo ra một cảm giác tương tác tự
nhiên và trực tiếp. Điều này quan trọng trong nhiều lĩnh vực, từ ứng dụng trí tuệ nhân
tạo đến chatbot và các hệ thống trợ lý ảo. Giao tiếp tự nhiên giúp máy nắm bắt được
ngữ cảnh và ý định của người dùng, tăng cường khả năng phản hồi và cung cấp thông
tin chính xác. Trong thương mại điện tử và dịch vụ khách hàng, khả năng này có thể
tạo ra trải nghiệm mua sắm trực tuyến gần gũi hơn và hấp dẫn hơn. Đồng thời, trong
lĩnh vực giáo dục và y tế, giao tiếp tự nhiên của máy có thể cung cấp hỗ trợ hiệu quả,
giảm bớt rào cản ngôn ngữ và tạo ra một môi trường tương tác tích cực và hiệu quả.

1.2 Sự quan trọng của chatbot.

- Chatbot đóng vai trò quan trọng trong môi trường kinh doanh hiện đại bằng cách tối
ưu hóa tương tác khách hàng. Khả năng cung cấp phản hồi tức thì giúp nâng cao trải
nghiệm người dùng và tăng cường sự chăm sóc khách hàng. Với khả năng hoạt động

6
liên tục, chatbot giúp giảm chi phí và tiết kiệm thời gian bằng cách tự động hóa các
nhiệm vụ lặp lại. Sự linh hoạt của chúng trong việc xử lý hàng ngàn đối thoại đồng
thời cũng tạo điều kiện thuận lợi cho giao tiếp đám đông. Hơn nữa, chatbot không chỉ
hỗ trợ quá trình bán hàng trực tuyến mà còn có khả năng phân tích dữ liệu và học
máy, từ đó liên tục nâng cao khả năng phản ứng và chất lượng dịch vụ. Với ứng dụng
đa dạng từ kinh doanh đến y tế và giáo dục, chatbot đóng vai trò quan trọng trong việc
thúc đẩy sự phát triển và hiệu quả hóa các ngành công nghiệp.

1.3 Những vấn đề được đặt ra.

- Hiệu quả làm việc của nhiều người không cao là một vấn đề phổ biến trong nhiều tổ
chức, doanh nghiệp. Vấn đề này có thể dẫn đến nhiều hậu quả tiêu cực, chẳng hạn như
giảm năng suất, tăng chi phí, và ảnh hưởng đến chất lượng sản phẩm/dịch vụ.

- Hàng tỷ trẻ em trên thế giới không được tiếp cận với nền giáo dục tốt. Theo ước tính
của UNESCO, có khoảng 262 triệu trẻ em trong độ tuổi đi học không được đến
trường, trong đó 60% là nữ. Nguyên nhân của vấn đề này bao gồm nghèo đói, xung
đột, thiên tai, phân biệt đối xử và thiếu cơ sở hạ tầng giáo dục.

- Trong thời đại công nghệ thông tin phát triển như hiện nay, con người tiếp cận với
một lượng thông tin khổng lồ từ nhiều nguồn khác nhau, bao gồm báo chí, truyền
hình, mạng xã hội,... Điều này dẫn đến tình trạng quá tải thông tin, khiến con người
khó có thể tiếp thu và xử lý thông tin một cách hiệu quả.

- Ngày nay, trên mạng xã hội và các trang web tin tức tràn lan những thông tin không
được kiểm chứng. Những thông tin này có thể được đưa ra bởi các cá nhân, tổ chức
thiếu uy tín hoặc có động cơ xấu.

1.4 Giải pháp giải quyết.

- Một chatbot trợ lý ảo có khả năng giao thiết bằng ngôn ngữ tự nhiêu qua loa và
micro giúp tăng tốc độ tìm kiếm thông tin và làm nhiều những việc khác thông qua
việc ra lệnh bằng giọng nói

7
- Trợ lý ảo có thể được phát triển để đưa ra những hướng dẫn cho những đứa trẻ
không được tiếp cận với giáo dục cho chúng khả năng học từ xa và có được những
kiếm thức hiện đại nhất hiện nay với 1 chi phí rất thấp.

- Trợ lý áo giúp chúng ta tìm kiếm và lọc bớt những thông tin chưa được kiểm chứng
và giảm quá tải thông tin cho con người.

1.5 Một số mặt hạn chế


Hiện nay hệ thống AI chatbot còn một số hạn chế như:
- Mặt hạn chế về ngôn ngữ: AI chatbot có thể gặp khó khăn trong việc hiểu và phản
hồi ngôn ngữ tự nhiên của người dùng, đặc biệt là khi ngôn ngữ có những đặc điểm
như ngữ cảnh, ngôn ngữ hình thái, ngôn ngữ không chính thống, ngôn ngữ đa nghĩa,
ngôn ngữ đùa, ngôn ngữ châm biếm, và nhiều hơn nữa. AI chatbot cũng có thể gặp
khó khăn trong việc xử lý các kênh khác nhau, như giọng nói, hình ảnh, hoặc cử chỉ,
đòi hỏi khả năng nhận dạng, phân tích, và tổng hợp các dữ liệu đa phương tiện. AI
chatbot cũng có thể gặp khó khăn trong việc thích ứng với các ngôn ngữ khác nhau,
đòi hỏi khả năng học và chuyển đổi các ngôn ngữ đa ngữ.

- Mặt hạn chế về trí tuệ nhân tạo: AI chatbot có thể gặp khó khăn trong việc tạo ra các
cuộc hội thoại thông minh, linh hoạt, và thân thiện, đòi hỏi khả năng lập luận, suy
luận, tư duy phản biện, tư duy sáng tạo, tư duy cảm xúc, và nhiều hơn nữa. AI chatbot
cũng có thể gặp khó khăn trong việc học hỏi và thích ứng với các tình huống khác
nhau, đòi hỏi khả năng học tăng cường, học truyền đạt, học đa tác vụ, học liên miền,
và nhiều hơn nữa. AI chatbot cũng có thể gặp khó khăn trong việc duy trì và cải thiện
hiệu năng, đòi hỏi khả năng kiểm tra, đánh giá, và tối ưu hóa các mô hình trí tuệ nhân
tạo.

- Mặt hạn chế về đạo đức, pháp lý, và xã hội: AI chatbot có thể gặp khó khăn trong
việc đảm bảo đạo đức, pháp lý, và xã hội của chatbot, đòi hỏi khả năng nhận thức,
đánh giá, và giải quyết các vấn đề có thể gây ra bởi chatbot, như bảo mật, quyền riêng
tư, trách nhiệm, minh bạch, công bằng, và nhiều hơn nữa. AI chatbot cũng có thể gặp

8
khó khăn trong việc đối mặt với các thách thức và cạnh tranh từ các bên liên quan,
như người dùng, doanh nghiệp, và xã hội, đòi hỏi khả năng bảo vệ quyền lợi, an toàn,
và phúc lợi của chatbot.

CHƯƠNG II: MỤC TIÊU


2.1 Tên sản phẩm: Chatbot Trợ Lý Ảo.
2.2 Mô tả yêu cầu:
- Chatbot Trợ Lý Ảo là chatbot có khả năng giao tiếp bằng ngôn ngữ nhiên.
- Có khả năng nghe và hiểu giọng nói của con người.
- Chatbot có thể thực hiện những mệnh lệnh cụ thể của người nói.
- Nếu người ra lệnh đưa ra 1 câu hỏi chatbot có thể trả lời lại bằng ngôn ngữ tự
nhiên thông qua loa.

2.3 Những đối tượng sử mà Chatbot hướng đến.


- Người đi làm cần tìm kiếm thông tin và học hỏi thường xuyên.
- Học sinh tự học ở nhà hoặc tìm kiếm thông tin.
- Giáo viên hỗ trợ việc giảng dạy.
- Người thường xuyên dùng máy tính.
- Người khuyết tật, liệt tứ chi có thể sử dụng máy tính thông qua giọng nói.

9
CHƯƠNG III: CƠ SỞ LÝ THUYẾT

3.1 Tổng quan về trí tuệ nhân tạo.


- Trí tuệ nhân tạo AI là một lĩnh vực khoa học máy tính, nghiên cứu và phát triển các
hệ thống máy móc có khả năng thực hiện các công việc thông minh, mà thường yêu
cầu trí tuệ của con người. Trí tuệ nhân tạo AI có thể được chia thành nhiều loại, như
trí tuệ nhân tạo mạnh, trí tuệ nhân tạo yếu, trí tuệ nhân tạo chung, trí tuệ nhân tạo đặc
biệt, trí tuệ nhân tạo biểu hiện, trí tuệ nhân tạo ẩn, và nhiều hơn nữa. Trí tuệ nhân tạo
AI có thể được ứng dụng cho nhiều lĩnh vực, như xử lý ngôn ngữ tự nhiên, thị giác
máy tính, học máy, học sâu, học tăng cường, học truyền đạt, học đa tác vụ, học liên
miền, trò chơi, robot, xe tự lái, y tế, giáo dục, thương mại, an ninh, và nhiều hơn nữa.
- Trí tuệ nhân tạo AI là một đề tài nghiên cứu và phát triển đầy thách thức và tiềm
năng. Trí tuệ nhân tạo AI không chỉ mang lại lợi ích cho người dùng, mà còn góp
phần nâng cao khả năng và hiểu biết của con người về trí tuệ nhân tạo. Trí tuệ nhân
tạo AI cũng đặt ra nhiều vấn đề đạo đức, pháp lý, và xã hội, cần được quan tâm và giải
quyết. Trí tuệ nhân tạo AI là một đề tài đáng để khám phá và học hỏi.
- Ưu điểm của trí tuệ nhân tạo: Tăng năng suất và hiệu quả, Cải thiện chất lượng sản
phẩm và dịch vụ, Giảm chi phí, Giải quyết các vấn đề phức tạp, Tạo ra những trải
nghiệm mới.

10
- Nhược điểm của trí tuệ nhân tạo: Mất việc làm, Thiên vị, Rủi ro an ninh mạng, Trách
nhiệm.

3.1.1 Các khái niệm cơ bản trong trí tuệ nhân tạo.

Các khái niệm cơ bản trong công nghệ phần mềm là:

 Học máy: là một nhánh của trí tuệ nhân tạo, nghiên cứu cách tạo ra các
mô hình có khả năng tự học hỏi từ dữ liệu, không cần lập trình cụ thể
 Học sâu: là một nhánh của học máy, sử dụng các mạng lưới thần kinh
nhân tạo để xử lý các dữ liệu phức tạp, như hình ảnh, âm thanh, văn bản,
và nhiều hơn nữa
 Học tăng cường: là một nhánh của học máy, nghiên cứu cách tạo ra các
hệ thống có khả năng học hỏi từ kinh nghiệm và tương tác với môi
trường, nhằm tối đa hóa một phần thưởng nào đó
 Học truyền đạt: là một nhánh của học máy, nghiên cứu cách tạo ra các hệ
thống có khả năng truyền đạt kiến thức và kỹ năng cho nhau, nhằm cải
thiện hiệu quả học tập học đa tác vụ: là một nhánh của học máy, nghiên
cứu cách tạo ra các hệ thống có khả năng học tập và thực hiện nhiều tác
vụ khác nhau cùng một lúc, nhằm tận dụng các điểm chung và khác biệt
giữa các tác vụ.
 Học liên miền: là một nhánh của học máy, nghiên cứu cách tạo ra các hệ
thống có khả năng học tập và áp dụng kiến thức từ một miền dữ liệu
sang một miền dữ liệu khác, nhằm giảm thiểu sự phụ thuộc vào dữ liệu
gốc.
 Xử lý ngôn ngữ tự nhiên: là một nhánh của trí tuệ nhân tạo, nghiên cứu
cách tạo ra các hệ thống có khả năng hiểu và phản hồi ngôn ngữ tự nhiên
của con người, thông qua các kênh như văn bản, giọng nói, hoặc hình
ảnh.
 Thị giác máy tính: là một nhánh của trí tuệ nhân tạo, nghiên cứu cách tạo
ra các hệ thống có khả năng nhận dạng, phân tích, và xử lý các hình ảnh
và video, nhằm mô phỏng lại khả năng thị giác của con người.

11
 Robot: là một nhánh của trí tuệ nhân tạo, nghiên cứu cách tạo ra các máy
móc có khả năng di chuyển, tương tác, và thực hiện các nhiệm vụ cụ thể,
nhằm mô phỏng lại khả năng hành động của con người.

3.2 Công nghệ xử lý ngôn ngữ tự nhiên (NLP).


- Xử lý ngôn ngữ tự nhiên (natural language processing - NLP) là một nhánh của trí
tuệ nhân tạo tập trung vào các ứng dụng trên ngôn ngữ của con người. Trong trí tuệ
nhân tạo thì xử lý ngôn ngữ tự nhiên là một trong những phần khó nhất vì nó liên quan
đến việc phải hiểu ý nghĩa ngôn ngữ-công cụ hoàn hảo nhất của tư duy và giao tiếp.

3.2.1 Một số thuật toán NLP phổ biến:


- Thuật toán phân loại: Thuật toán này được sử dụng để gán nhãn cho dữ liệu văn bản
theo một số loại nhất định. Ví dụ: một thuật toán phân loại có thể được sử dụng để xác
định xem một đoạn văn bản là tin tức hay không.
- Thuật toán trích xuất thông tin: Thuật toán này được sử dụng để trích xuất thông tin
cụ thể từ dữ liệu văn bản. Ví dụ: một thuật toán trích xuất thông tin có thể được sử
dụng để xác định ngày tháng trong một đoạn văn bản.
- Thuật toán dịch máy: Thuật toán này được sử dụng để dịch văn bản từ một ngôn ngữ
sang ngôn ngữ khác.
- Thuật toán nhận dạng giọng nói: Thuật toán này được sử dụng để chuyển đổi âm
thanh của giọng nói thành văn bản.
- Thuật toán phân tích cảm xúc: Thuật toán này được sử dụng để xác định cảm xúc
của một người từ văn bản của họ.
- Thuật toán tạo văn bản: Thuật toán này được sử dụng để tạo văn bản mới, chẳng hạn
như câu, đoạn văn hoặc bài viết.
- Thuật toán gán nhãn từ loại: Thuật toán này được sử dụng để xác định loại từ trong
một câu. Ví dụ: một thuật toán gán nhãn từ loại có thể được sử dụng để xác định xem
một từ là danh từ, động từ, tính từ hay trạng từ.
- Thuật toán phân tích cú pháp: Thuật toán này được sử dụng để phân tích cấu trúc cú
pháp của một câu. Ví dụ: một thuật toán phân tích cú pháp có thể được sử dụng để xác
định chủ ngữ, vị ngữ và tân ngữ của một câu.

12
- Thuật toán xử lý ngôn ngữ tự nhiên: Thuật toán này được sử dụng để thực hiện các
tác vụ phức tạp hơn, chẳng hạn như trả lời câu hỏi hoặc tạo văn bản sáng tạo.

3.2.2 Các bước chính trong xử lý ngôn ngữ tự nhiên (NLP)

Bước 1. Phân tích từ vựng (Lexical analysis)

13
- Lexicon mô tả từ vựng dễ hiểu tạo nên một ngôn ngữ. Phân tích từ vựng giải mã
và phân chia ngôn ngữ thành các đơn vị—hoặc từ vị—như đoạn văn, câu, cụm từ
và từ. Các thuật toán NLP phân loại các từ thành các phần của lời nói (POS) và
chia từ vị thành các hình thái—đơn vị ngôn ngữ có ý nghĩa mà bạn không thể phân
chia thêm. Có 2 loại hình vị:

+ Các hình vị tự do hoạt động độc lập như các từ (như “bò” và “ngôi nhà”).
+ Hình vị ràng buộc tạo nên những từ lớn hơn. Từ “unimaginable” chứa các
hình vị “un-” (một hình vị ràng buộc biểu thị một bối cảnh tiêu cực), “imagine”
(gốc hình vị tự do của toàn bộ từ) và “-able” (một hình vị ràng buộc biểu thị khả
năng của hình vị gốc để kết thúc).
- Ví dụ: khi thực hiện phân tích từ vựng ở đoạn trước, phân tích sẽ tách biệt và chia
câu đầu tiên thành các cụm từ từ vựng, chẳng hạn như “từ vựng dễ hiểu tạo nên
một ngôn ngữ”. Phân tích này tiếp tục chia cụm từ thành các từ vựng, như “từ
vựng” và “ngôn ngữ”, phân loại cả hai là danh từ POS. Sau đó, quá trình phân tích
rút ra các hình vị tự do, như “từ”, “từ vựng” và “hiểu-” và các hình vị ràng buộc,
như “-able”.

Bước 2: Phân tích cú pháp (Syntactic analysis)

14
- Cú pháp mô tả cách các từ và cụm từ trong ngôn ngữ sắp xếp để tạo thành câu.
Phân tích cú pháp kiểm tra cách sắp xếp từ cho đúng ngữ pháp.
- Ví dụ: câu “Dave đã viết bài báo” đã vượt qua bài kiểm tra phân tích cú pháp vì
nó đúng ngữ pháp. Ngược lại, phân tích cú pháp sẽ phân loại một câu như “Dave
do jumps” là sai về mặt cú pháp.

Bước 3: Phân tích ngữ nghĩa (Semantic analysis)

- Ngữ nghĩa mô tả ý nghĩa của từ, cụm từ, câu và đoạn văn. Phân tích ngữ nghĩa cố
gắng hiểu nghĩa đen của các lựa chọn ngôn ngữ riêng lẻ chứ không phải tính chính
xác về mặt cú pháp. Tuy nhiên, phân tích ngữ nghĩa không kiểm tra dữ liệu ngôn
ngữ trước và sau khi lựa chọn để làm rõ ý nghĩa của nó.

- Ví dụ: “Manhattan call out to Dave” vượt qua phân tích cú pháp vì đó là một câu
đúng ngữ pháp. Tuy nhiên, nó thất bại trong việc phân tích ngữ nghĩa. Bởi vì
Manhattan là một nơi (và không thể gọi mọi người theo nghĩa đen), nghĩa của câu
này không có ý nghĩa.

Bước 4: Tích hợp diễn ngôn (Discourse integration)

15
- Diễn ngôn mô tả sự giao tiếp giữa 2 hoặc nhiều cá nhân. Tích hợp diễn ngôn phân
tích các từ và câu trước để hiểu ý nghĩa của ngôn ngữ mơ hồ.

- Ví dụ: nếu một câu có nội dung là “Manhattan nói chuyện với tất cả người dân ở
đó” và câu tiếp theo có nội dung là “Nó gọi Dave”, thì việc tích hợp diễn ngôn sẽ
kiểm tra ngữ cảnh của câu đầu tiên để hiểu rằng “Nó” trong câu sau đề cập đến tới
Manhattan.

Bước 5: Phân tích thực dụng (Pragmatic analysis)

- Chủ nghĩa thực dụng mô tả việc giải thích ý nghĩa dự định của ngôn ngữ. Phân
tích thực dụng cố gắng rút ra ý nghĩa dự kiến chứ không phải nghĩa đen của ngôn
ngữ.
- Ví dụ: một phân tích thực dụng có thể phát hiện ra ý nghĩa dự định của
“Manhattan nói chuyện với tất cả người dân của mình”. Các phương pháp như
mạng lưới thần kinh đánh giá ngữ cảnh để hiểu rằng câu đó không phải theo nghĩa
đen và hầu hết mọi người sẽ không hiểu nó theo nghĩa đen. Một phân tích thực
dụng suy luận rằng câu này là một phép ẩn dụ cho cách mọi người kết nối cảm xúc
với các địa điểm.

16
CHƯƠNG IV: THIẾT KẾ VÀ KIẾN TRÚC CHATBOT

4.1 Kiến trúc của Chatbot.

- Chatbot trợ lý áo có 3 phần chính:

4.1.1 Phần đầu tiên là nghe và hiểu được câu lệnh từ người nói.

- Khi bạn kích hoạt chức năng micro, hệ thống sẽ tự động kích hoạt và bắt đầu ghi âm
khi phát hiện tiếng nói từ người sử dụng. Microphone sẽ liên tục thu âm và chuyển đổi
các đoạn âm thanh thành dữ liệu số. Điều đặc biệt là, khi người nói phát ra âm thanh,
micro sẽ tiếp tục thu lại và chuyển đổi tín hiệu âm thanh đó thành văn bản thông qua
ứng dụng của Công nghệ Xử lý Ngôn ngữ Tự nhiên (NLP)(Google Web Speech API).

Các bước xử lý của Google Web Speech API:


Bước 1: Tiền Xử Lý Dữ Liệu Âm Thanh.

- Dữ liệu âm thanh thường được chia thành các khung thời gian nhỏ (ví dụ: 10 ms) để
thuận tiện cho việc xử lý.

- Các bước tiền xử lý có thể bao gồm việc áp dụng các kỹ thuật như loại bỏ nhiễu, cân

17
bằng màu âm thanh, hoặc áp dụng các thuật toán khác để tối ưu hóa chất lượng dữ
liệu.

Bước 2: Trích Xuất Đặc Trưng.

- Dữ liệu âm thanh sau khi tiền xử lý sẽ được sử dụng để trích xuất các đặc trưng quan
trọng. Các đặc trưng này có thể bao gồm tần số, biên độ, hoặc các thuộc tính khác của
âm thanh.

- Mục tiêu là biểu diễn âm thanh dưới dạng các đặc trưng chất lượng cao giúp xác
định đặc điểm của giọng nói.

- HMMs thường được sử dụng để mô hình hóa các đặc trưng của giọng nói, chẳng hạn
như âm thanh ngôn ngữ và ngữ điệu.

- DNNs thường được sử dụng để trích xuất đặc trưng sâu từ dữ liệu âm thanh, giúp
hiểu biểu diễn phức tạp của giọng nói.

18
Bước 3: Mô Hình Nhận Dạng Giọng Nói.

- Sử dụng mô hình nhận dạng giọng nói, thường dựa trên các thuật toán máy học, để
phân loại đặc trưng từ dữ liệu âm thanh thành các phần của giọng nói.

- Mô hình này có thể đã được huấn luyện trước trên dữ liệu lớn và đa dạng để nhận
diện nhiều loại giọng nói.

- Trong một số trường hợp, GMMs được sử dụng như mô hình xác suất cho các trạng
thái của HMMs.

19
- Các mô hình deep learning, bao gồm cả CNNs và RNNs, thường được sử dụng để
nhận dạng giọng nói dựa trên đặc trưng đã được trích xuất.

- Mô hình sequence-to-sequence, như LSTMs hoặc Transformer, có thể được sử dụng


để biểu diễn mối quan hệ giữa các khung thời gian âm thanh và chuỗi ký tự tương
ứng.

Bước 4: Sự So Sánh và Gán Văn Bản.

- Kết quả từ mô hình nhận dạng giọng nói thường là các chuỗi đặc trưng của giọng
nói.

- Các chuỗi đặc trưng được so sánh với các mô hình ngôn ngữ để xác định xem chuỗi
đó có khả năng là một câu nói hợp lệ trong ngôn ngữ được xác định không.

Bước 5: Chuyển Đổi Thành Văn Bản.

- Khi xác định được chuỗi giọng nói, dịch vụ nhận dạng giọng nói sẽ chuyển đổi nó
thành văn bản tương ứng.

- Việc này thường bao gồm các bước như xác định từ và ngữ pháp, cũng như điều
chỉnh cho các biến thể phổ biến trong ngôn ngữ.

20
Bước 6: Gửi Kết Quả.

- Văn bản được trả về cho ứng dụng yêu cầu thông qua API, nơi bạn có thể sử dụng nó
cho mục đích của mình, chẳng hạn như hiển thị trên giao diện người dùng hoặc xử lý
tiếp theo.

4.1.2 phần thứ hai là xử lý mệnh lệnh từ người nói.

- sau khi đoạn giọng nói được chuyển thành văn bản, văn bản có dạng text được đưa
vào chương thì để xử lý và trả ra 1 đoạn văn bản khác.

- Sử dụng các điều kiện (if, elif, else) để kiểm tra văn bản nhận diện và thực hiện các
hành động tương ứng.

- Một số lệnh được kiểm tra bao gồm:

+ Chào hỏi và đáp lại chào hỏi.

+ Thông tin về tên, ngày, giờ, và người tạo ra trợ lý ảo.

+ Hiển thị sứ mệnh của trợ lý ảo.

+ Mở trình duyệt và các trang web cụ thể.

+ Mở ứng dụng và thư mục trên máy tính.

+ Dừng chương trình nếu có lệnh "dừng lại", "thoát", "kết thúc" hoặc "ok".

- Nếu người dùng nói "trang" và chỉ định trang web cụ thể, chương trình sẽ mở trang
web đó bằng cách sử dụng thư viện webbrowser.

- Mở Ứng Dụng và Thư Mục:

+ Nếu người dùng nói "mở" và chỉ định ứng dụng hoặc thư mục cụ thể, chương
trình sẽ mở ứng dụng hoặc thư mục đó bằng cách sử dụng os.startfile.

- Tìm Kiếm trên Wikipedia:

21
+Nếu người dùng nói một từ hoặc cụm từ, chương trình sẽ tìm kiếm thông tin
về từ đó trên Wikipedia sử dụng thư viện wikipedia.

4.1.3 phần thứ ba là thực hiện phản hồi lại thông qua giọng nói.

- Sau khi văn bản được xử lý, Công nghệ Xử lý Ngôn ngữ Tự nhiên (NLP) được sử
dụng để chuyển đổi thành giọng nói. Quá trình bao gồm tokenization, ánh xạ từng từ
với âm thanh, và áp dụng mô hình ngôn ngữ, giọng nói tổng hợp để tạo ra ngữ điệu tự
nhiên. Sau đó, giọng nói được phát ra từ loa, cung cấp trải nghiệm tương tác âm thanh
hiệu quả và tăng cường khả năng giao tiếp của hệ thống.
Các bước xử lý của Google Web Speech API:
Bước 1:Tokenization và Chuẩn bị Văn bản.

Văn bản đầu vào được chia thành các đơn vị nhỏ hơn, thường là từ hay token. Các
token này sau đó được chuẩn bị để xử lý tiếp theo.
- Ví dụ:

Bước 2: Chuyển đổi Token thành Âm thanh.

- Mỗi token được ánh xạ với một đoạn âm thanh tương ứng. Điều này có thể được
thực hiện thông qua một bộ dữ liệu lớn chứa các mẫu giọng nói đa dạng cho các từ và
cụm từ.

Bước 3: Mô hình Ngôn ngữ và Giọng nói Tổng hợp.

- gTTS sử dụng các mô hình ngôn ngữ và mô hình giọng nói tổng hợp để tạo ra ngữ

22
điệu tự nhiên, âm điệu, và nhấn mạnh phù hợp với nội dung của văn bản. Các mô hình
này có thể được đào tạo để phản ánh các yếu tố ngôn ngữ và giọng nói của người nói.

Bước 4: Tổng hợp Giọng nói.

- Các âm thanh được tổng hợp lại để tạo thành một dòng giọng nói liền mạch. Các
biến thể về tốc độ, giọng nói, và nhấn mạnh có thể được thay đổi dựa trên các tham số
được đặt cấu hình.

Bước 5: Lưu hoặc Phát lại.

- Kết quả cuối cùng, dòng giọng nói đã được tạo ra, có thể được lưu vào một file âm
thanh hoặc phát lại ngay lập tức để người dùng trải nghiệm.

4.2 Các chức năng.

- Chức năng chặn trả lời lại những câu hỏi liên quan đến kiến thức bằng cách sử dụng
dữ liệu từ Wikipedia là một tính năng mạnh mẽ trong hệ thống, mang lại sự hiệu quả
và độ chính xác trong việc đáp ứng nhu cầu thông tin của người sử dụng. Khi một câu
hỏi được đưa ra, hệ thống không chỉ sử dụng Công nghệ Xử lý Ngôn ngữ Tự nhiên
(NLP) để hiểu ý nghĩa của câu hỏi mà còn kết hợp với khả năng truy cập vào dữ liệu
đa dạng và phong phú từ Wikipedia.

- Chức năng mở các trang web bằng giọng nói là một tính năng độc đáo và tiện ích,
nâng cao trải nghiệm người dùng bằng cách cung cấp khả năng tương tác thông qua
giọng nói. Điều này không chỉ tạo ra một phương tiện tiện lợi mà còn mở ra một khía
cạnh tương tác tự nhiên và hiệu quả, đặc biệt là cho những người có khó khăn trong
việc sử dụng bàn phím hoặc màn hình cảm ứng.
- Chức năng trả lời theo những gì đã được nạp trước đây là một tính năng mạnh mẽ và
linh hoạt trong hệ thống, cho phép hệ thống tự động đưa ra câu trả lời hoặc phản hồi
dựa trên các thông tin đã được học trước đó. Quá trình này thường bắt đầu với việc

23
thu thập và xử lý dữ liệu từ các nguồn đa dạng như cơ sở dữ liệu nội bộ, bộ nhớ lịch
sử, hoặc dữ liệu được đào tạo từ trải nghiệm trước của người dùng.

4.3 Những công nghệ sử dụng.

- SpeechRecognition (speech_recognition):

+Công nghệ: Sử dụng các API nhận diện giọng nói, như Google Web Speech
API hoặc Sphinx, để chuyển đổi âm thanh từ microphone thành văn bản.

+Hoạt động: Thu âm dữ liệu âm thanh từ microphone, sau đó gửi dữ liệu này
đến API nhận diện giọng nói để xác định văn bản tương ứng.

- gTTS (Google Text-to-Speech):

+ Công nghệ: Sử dụng Google Text-to-Speech API để tạo ra file âm thanh từ


văn bản.

+ Hoạt động: Gửi văn bản đến API, nhận lại file âm thanh đã được sinh và lưu
vào đĩa. Sau đó sử dụng thư viện playsound để phát âm thanh từ file MP3.

- os:

+ Công nghệ: Tương tác với hệ điều hành để thực hiện các thao tác như xóa
file.

+ Hoạt động: Sử dụng các hàm từ thư viện này để thao tác trực tiếp với hệ điều
hành.

- playsound:

+Công nghệ: Sử dụng API âm thanh của hệ điều hành để phát âm thanh từ file.

+ Hoạt động: Chơi file âm thanh đã được tạo từ gTTS.

- datetime:

+ Công nghệ: Cung cấp các hàm để làm việc với thời gian và ngày tháng.

+ Hoạt động: Sử dụng hàm now() để lấy thời gian hiện tại.

- webbrowser:

24
+ Công nghệ: Tương tác với trình duyệt web được cài đặt trên hệ thống.

+ Hoạt động: Mở một trình duyệt web và truy cập một URL cụ thể.

- wikipedia:

+ Công nghệ: Sử dụng API của Wikipedia để truy xuất thông tin từ cơ sở dữ
liệu Wikipedia.

+ Hoạt động: Gửi các truy vấn đến Wikipedia và nhận về dữ liệu tóm tắt về chủ
đề được yêu cầu.

4.4 Ngôn ngữ lập trình sử dụng

- Ngôn ngữ lập trình Python đã trở thành một công cụ mạnh mẽ và phổ biến trong lĩnh
vực Trí tuệ nhân tạo (AI), đặc biệt là trong việc phát triển các dự án và mô hình máy
học.

- Python, với cú pháp đơn giản và dễ đọc, đã trở thành ngôn ngữ lập trình ưu tiên cho
nhiều nhà phát triển và nhà nghiên cứu trong lĩnh vực Trí tuệ nhân tạo (AI). Sự linh
hoạt của Python giúp tạo điều kiện thuận lợi cho việc thử nghiệm và triển khai các
thuật toán máy học một cách dễ dàng.

25
Ưu nhược điểm của Python trong lĩnh vực này.

- Ưu điểm:

+Đa dạng và Mạnh mẽ

+ Cộng đồng Lớn và Hỗ trợ Mạnh mẽ

+ Lập trình Hàm (Functional Programming)

+ Tương tác Dễ dàng

- Nhược điểm:

+ Tốc độ Thực thi


+ Giới Hạn trong xử lý đa luồng
+ Bảo mật và Nhược điểm trong Thiết bị Nhúng.

CHƯƠNG V: PHÁT TRIỂN CHATBOT


5.1 Các bước phát triển.

5.1.1. Định Rõ Mục Tiêu

Trước hết, chúng tôi tiến hành cuộc họp chiến lược với đội để định rõ mục tiêu của
chatbot. Các câu hỏi cụ thể như "Chatbot được tạo ra để làm gì?" và "Người dùng
muốn đạt được điều gì thông qua việc sử dụng chatbot?" giúp chúng tôi hiểu rõ hơn về
yêu cầu cụ thể.

5.1.2. Xác Định Nhóm Người Dùng

Để tối ưu hóa trải nghiệm người dùng, chúng tôi phải xác định rõ nhóm người dùng
mục tiêu. Thông qua cuộc khảo sát, và phân tích dữ liệu người dùng, chúng tôi xác
định các yêu cầu và mong đợi của đối tượng sử dụng chatbot.

26
5.1.3. Xác Định Tính Năng Cần Thiết

Dựa trên thông tin thu được từ người dùng, chúng tôi liệt kê các tính năng cần thiết
mà chatbot phải có. Điều này bao gồm cả khả năng trò chuyện tự nhiên, hiểu biết vấn
đề, và khả năng phát ra giọng nói.

5.1.4. Đặt Rõ Ràng Kỳ Vọng

Chúng tôi xác định rõ ràng các kỳ vọng của người dùng đối với chatbot, bao gồm cả
thời gian phản hồi, độ chính xác của thông tin, và tính năng giọng nói.

5.1.5. Phân Tích Tính Năng Có Thể Mở Rộng

Chúng tôi cũng xem xét các tính năng có thể mở rộng trong tương lai để đảm bảo rằng
chatbot có khả năng phát triển và thích ứng với nhu cầu người dùng đổi mới.

5.1.6 Ngôn Ngữ Lập Trình Python


Chúng tôi chọn Python làm ngôn ngữ lập trình chính cho dự án do tính linh hoạt và sự
hỗ trợ mạnh mẽ của nó trong lĩnh vực trí tuệ nhân tạo. Python giúp chúng tôi nhanh
chóng triển khai các tính năng mới và dễ dàng tích hợp các thư viện và API khác.

5.1.7 Sử Dụng Thư Viện

Để hỗ trợ tính năng nhận dạng giọng nói, chúng tôi tích hợp thư viện
speech_recognition vào dự án. Thư viện này giúp chúng tôi xử lý và hiểu đoạn âm

27
thanh được nhập vào từ người dùng, tạo điều kiện cho trò chuyện tự nhiên và tương
tác giọng nói.

5.1.8 Phát Triển và Kiểm Thử Local

Chúng tôi ưu tiên phát triển và kiểm thử chủ yếu trên môi trường phát triển local để
đảm bảo tính ổn định và dễ dàng xử lý. Các IDE như VSCode cung cấp một giao diện
thuận tiện và các tính năng hỗ trợ giúp tăng cường hiệu suất phát triển.

CHƯƠNG VI: KIỂM THỬ VÀ KIỂM SOÁT CHẤT LƯỢNG


Chúng tôi sử dụng các công cụ kiểm thử tích hợp trong VSCode để đảm bảo mã
nguồn của chúng tôi đáp ứng các tiêu chí chất lượng và không có lỗi đáng kể. Các
bước kiểm thử và debug được thực hiện chặt chẽ để giảm thiểu lỗi và cải thiện hiệu
suất.

28
CHƯƠNG VII: HƯỚNG DẪN SỬ DỤNG
7.1 Chạy Chương Trình:
- Mở một môi trường Python và chạy chương trình.

7.2 Nghe và Phản Hồi:

- Chương trình sẽ đang lắng nghe âm thanh từ micro và sau đó chuyển đổi lời nói
thành văn bản.

- Nếu không có lời nói hoặc không thể nhận diện được, chương trình sẽ yêu cầu người
dùng nói lại.

7.3 Làm Các Câu Lệnh:

- Bạn có thể thử một số câu lệnh như "Xin chào", "Bạn tên là gì", "Ngày bao nhiêu",
"Mấy giờ", "Mở trang Youtube", "Kết thúc".

- Chương trình sẽ phản hồi bằng giọng nói tương ứng.

7.4 Tra Cứu Wikipedia:

- Nếu bạn nói một câu không phải là các câu lệnh trên, chương trình sẽ thử tra cứu
thông tin từ Wikipedia với ngôn ngữ là tiếng Việt.

29
7.5 Kết Thúc Chương Trình:

- Để kết thúc chương trình, bạn chỉ cần nói "Kết thúc" và chương trình sẽ thoát.

CHƯƠNG VIII: TỔNG KẾT

- Trong quá trình phát triển và triển khai AI chatbot, chúng tôi đã đạt được nhiều
thành tựu quan trọng và mang lại những giá trị lớn cho người sử dụng. Chúng tôi đã
thành công trong việc đạt được mục tiêu chính của dự án:

+ Tạo ra một chatbot có khả năng tương tác tự nhiên với người dùng.

+ Sử dụng giọng nói nhân tạo để cung cấp trải nghiệm giao tiếp sinh động và
thuận lợi.

- Hướng Phát Triển Tương Lai: Chúng tôi muốn đưa chatbot của mình lên một tầm
cao mới trong tương lai, hướng tới mục tiêu trở thành một trợ lý thông minh có khả
năng hướng dẫn và dạy học cho các trẻ em nghèo không được tiếp cận với giáo dục.
Dưới đây là những hướng phát triển cụ thể:

+ Tích Hợp Nền Tảng Học Tập Online:Mở rộng tính năng để kết nối với nền
tảng học tập trực tuyến.

Cung cấp tài liệu giáo trình, bài giảng, và bài tập cho các môn học cơ bản.

+ Phát Triển Nội Dung Giáo Dục:Tạo nội dung giáo dục chất lượng cao và dễ
hiểu cho trẻ em.Cung cấp tài liệu học về các chủ đề như toán, văn, khoa học, và văn
hóa.

+ Tích Hợp Trí Tuệ Nhân Tạo trong Giảng Dạy:Sử dụng trí tuệ nhân tạo để

30
đánh giá năng lực học tập của học viên.Tự động điều chỉnh nội dung học dựa trên sự
tiến bộ của người học.

+Phát Triển Kỹ Năng Mềm và Sự Sáng Tạo:Hỗ trợ phát triển kỹ năng mềm
như giao tiếp, teamwork, và giải quyết vấn đề.Khuyến khích sự sáng tạo và tư duy
logic thông qua các bài tập và thách thức.

CHƯƠNG VIII: TÀI LIỆU THAM KHẢO

https://www.careerlink.vn/cam-nang-viec-lam/tu-van-nghe-
nghiep/nlp-la-gi-loi-ich-cua-nlp-trong-cac-linh-vuc

https://viblo.asia/p/deep-learning-tim-hieu-ve-mang-tich-chap-
cnn-maGK73bOKj2

https://vi.wikipedia.org/wiki/Tr%C3%AD_tu%E1%BB%87_nh
%C3%A2n_t%E1%BA%A1o

https://vi.wikipedia.org/wiki/Khoa_h%E1%BB%8Dc_m
%C3%A1y_t%C3%ADnh

https://aws.amazon.com/vi/what-is/nlp/

https://www.vista.gov.vn/vi/news/xu-huong-nghien-cuu-cong-
nghe/tap-chi-forbes-nhan-dinh-xu-huong-dan-dau-ve-tri-tue-
nhan-tao-cua-viet-nam-6265.html

https://paris.cs.illinois.edu/pubs/brown-jasael09.pdf

https://cloud.google.com/speech-to-text/docs

31
https://www.datacamp.com/blog/what-is-tokenization

--HẾT--

32

You might also like