Tải bản đầy đủ (.doc) (37 trang)

BÁO CÁO ĐỒ ÁN ĐỀ TÀI XÂY DỰNG TRỢ LÝ ẢO BẰNG PYTHON

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.61 MB, 37 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN
THÔNG VIỆT-HÀN
----------

BÁO CÁO ĐỒ ÁN 4

ĐỀ TÀI

XÂY DỰNG TRỢ LÝ ẢO BẰNG
PYTHON
Sinh Viên Thực Hiện:

Lê Quang Nhật
Bùi Tấn Lâm

Lớp:

18IT2

Giảng Viên Hướng Dẫn: ThS. Dương Thị Mai Nga

Đà Nẵng, tháng 1 năm 2020


ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN
THÔNG VIỆT-HÀN
----------

BÁO CÁO ĐỒ ÁN 4



ĐỀ TÀI

XÂY DỰNG TRỢ LÝ ẢO BẰNG
PYTHON
Sinh Viên Thực Hiện:

Lê Quang Nhật
Bùi Tấn Lâm

Lớp:

18IT2

Giảng Viên Hướng Dẫn: ThS. Dương Thị Mai Nga

Đà Nẵng, tháng 1 năm 2020


MỞ ĐẦU
Ngày nay, ứng dụng công nghệ thông tin và việc tin học hóa được xem là một trong
những yếu tố mang tính quyết định trong hoạt động của các chính phủ, tổ chức, cũng như
của các cơng ty, nó đóng vai trị hết sức quan trọng, có thể tạo ra những bước đột phá mạnh
mẽ.
Sự phát triển nhanh chóng của AI và học máy đã giúp phát triển công nghệ nhận dạng
giọng nói, cơng nghệ này ngày càng đi sâu vào mọi lĩnh vực trong cuộc sống.
Từ những điều trên, cũng với những phân tích bên dưới, ta sẽ chứng minh một cách sinh
động rằng tại sao công nghệ điều khiển giọng nói nên được coi là xu thế công nghệ hiện tại
không chỉ bới những ông lớn về IT hay những người có niềm đam mê với AI mà các doanh
nghiệp cũng đang ráo riết nâng cấp, tối ưu hệ thống bằng cơng nghệ giọng nói hay cịn gọi

là trợ lý ảo.
Bắt nguồn với ý tưởng này, cùng với những gợi ý của cô Dương Thị Mai Nga, em đã
thực hiện đồ án:
“XÂY DỰNG TRỢ LÝ ẢO BẰNG NGÔN NGỮ PYTHON”


LỜI CẢM ƠN
Để đồ án này đạt kết quả tốt đẹp, chúng em đã nhận được sự hỗ trợ, giúp đỡ của thầy
cơ. Với tình cảm sâu sắc, chân thành, cho phép chúng em được bày tỏ lòng biết ơn sâu sắc
đến tất cả quý thầy cô đã tạo điều kiện giúp đỡ trong quá trình học tập, nghiên cứu và phát
triển đề tài.
Trước hết chúng em xin gửi tới quý thầy cô Khoa Công Nghệ Thông Tin và Truyền
Thông - Đại Học Đà Nẵng lời chào trân trọng, lời chúc sức khỏe và lời cảm ơn sâu sắc nhất.
Với sự quan tâm, chỉ bảo tận tình và truyền đạt những kiến thức bổ ích cho chúng em suốt
thời gian học kỳ vừa rồi, giúp em có thêm nhiều kiến thức và hiểu rõ hơn các vấn đề mình
nghiên cứu, đến nay chúng em đã có thể hồn thành đề tài báo cáo mơn Lập trình mạng.
Đặc biệt chúng em xin gửi lời cảm ơn chân thành nhất đến giảng viên ThS. Dương
Thị Mai Nga đã quan tâm giúp đỡ tận tình chúng em hồn thành tốt đồ án này trong thời
gian qua.
Với điều kiện thời gian cũng như kinh nghiệm cịn hạn chế, đồ án này sẽ khơng thể
tránh được những thiếu sót. Chúng em rất mong nhận được sự chỉ bảo, đóng góp ý kiến
của các thầy cơ, để chúng em có thể bổ sung, nâng cao kinh nghiệm và kỹ năng của bản
thân để phục vụ cho công việc thực tế sau này.

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


NHẬN XÉT
(Của giảng viên hướng dẫn)
…………………………………………………………………………………………………

…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
……………………………………………………………………………

Đà nẵng, ngày tháng năm 2020
Giảng viên hướng dẫn

ThS. Dương Thị Mai Nga


MỤC LỤC
Trang
Chương 1 TỔNG QUAN ĐỀ TÀI...................................................................1
1.1 Lý do chọn đề tài....................................................................................1
1.2 Cấu trúc đồ án........................................................................................1
1.3 Phương pháp nghiên cứu.......................................................................1
1.4 Đối tượng nghiên cứu và phạm vi nghiên cứu.....................................1
1.5 Kế hoạch thực hiện.................................................................................2
1.6 Dự kiến kết quả......................................................................................2
Chương 2 CƠ SỞ LÝ THUYẾT.....................................................................3

2.1 Tổng quan về trợ lý ảo...........................................................................3
2.1.1 Sự phát triển của trợ lý ảo.................................................................3
2.1.2 Trợ lý ảo là gì?..................................................................................4
2.1.3 Các loại trợ lý ảo..............................................................................5
2.1.4 Một số ứng dụng trợ lý ảo hiện có....................................................5
2.1.5 Ứng dụng thực tế của trợ lý ảo.........................................................9
2.1.6 Ưu điểm của trợ lý ảo.....................................................................11
2.2 Giới thiệu về ngơn ngữ lập trình Python............................................11
2.2.1 Định nghĩa và nguồn gốc về Python...............................................11
2.2.1.1 Định nghĩa................................................................................................11
2.2.1.2 Nguồn gốc................................................................................................12
2.2.2 Các tính năng của Python...............................................................12
2.2.3 Ưu điểm và hạn chế của ngôn ngữ lập trình Python.......................13
2.3 Giới thiệu về cơng cụ lập trình Pycharm............................................14
2.3.1 Sơ lược về Pycharm........................................................................14
2.3.2 Tại sao chọn Pycharm.....................................................................15
Chương 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG................................16
3.1 Các Actor..............................................................................................16
3.2 Yêu cầu người sử dụng.........................................................................16
3.3 Chức năng của hệ thống trợ lý ảo.......................................................16
3.4 Ưu điểm của chương trình trợ lý ảo...................................................17
3.5 Các thư viện cơ bản được sử dụng trong chương trình....................17
3.6 Các bước xây dựng chương trình.......................................................18


3.7 Nguyên lý hoạt động của chương trình trợ lý ảo...............................18
3.8 Biểu đồ Usecase....................................................................................19
3.9 Biểu đồ lớp............................................................................................20
3.10 Biểu đồ hoạt động...............................................................................20
Chương 4 KẾT QUẢ ĐẠT ĐƯỢC VÀ CHƯƠNG TRÌNH DEMO...........21

4.1 Kết quả đạt được..................................................................................21
4.2 Code minh họa......................................................................................21
4.3 Demo chương trình..............................................................................23
Chương 5 KẾT LUẬN...................................................................................27
5.1 Kết quả đạt được..................................................................................27
5.2 Hạn chế.................................................................................................27
5.3 Hướng phát triển..................................................................................27


DANH MỤC HÌNH ẢNH
Trang
Hình 1 Sự phát triển của trợ lý ảo..................................................................3
Hình 2 Trợ lý ảo là gì?.....................................................................................4
Hình 3 Trợ lý ảo Google được phát triển bởi google cho thiết bị di động và nhà
thơng minh 5
Hình 4 Trợ lý ảo Alex được phát triển bởi Amazon,có nhiệm vụ thực hiện mệnh lệnh
của người dùng 6
Hình 5 Trợ lý ảo Siri được điều khiển bằng giọng của hãng Apple..............7
Hình 6 Trợ lý ảo Cortana là trợ lý cá nhân thông minh được tạo bởi Microsoft dành
cho Windows107
Hình 7 Trợ lý ảo Bixby, ứng dụng trợ lý cá nhân của SAMSUNG- một trong những
trợ lý thơng minh nhất.........................................................................................8
Hình 8 Trợ lý ảo Databox - ứng dụng đa nền tảng với chức năng cơ bản nhất( khơng
phải từ một thương hiệu lớn)...............................................................................8
Hình 9 Trợ lý ảo Lyra - trợ lý đa nền tảng sử dụng trên điện thoại thơng minh, máy
tính bảng và máy tính..........................................................................................9
Hình 10 Ứng dụng thực tế của trợ lý ảo vào trong các lĩnh vực và các chức năng cơ
bản của nó 10
Hình 11 Python là gì?.....................................................................................12
Hình 12 Các tính năng của python trong lập trình( Ưu điểm và hạn chế của ngơn

ngữ python)
13
Hình 13 Sơ lược về Pycharm ( Phiên bản, nguồn gốc và công dụng của cơng cụ lập
trình Pycharm) 15
Hình 14 Ngun lý hoạt động của trợ lý ảo trong quá trình nhận và thực hiện mệnh
lệnh của người dùng...........................................................................................18
Hình 15 Biểu đồ Usecase................................................................................19
Hình 16 Biểu đồ lớp.......................................................................................20
Hình 17 Biểu đồ hoạt động............................................................................20
Hình 18 Hình ảnh chương trình demo trợ lý ảo có giao diện.....................23
Hình 19 Chương trình trợ lý ảo bắt đầu khởi động trên console của cơng cụ lập
trình Pycharm 24
Hình 20 Minh họa giao tiếp cơ bản giữa người dùng và trợ lý ảo..............24
Hình 21 Chức năng tìm kiếm cực nhanh của trợ lý ảo trên google search 25
Hình 22 Demo chức năng mở camera của hệ thống máy tính....................25


Hình 23 Demo chức năng định vị biết được vị trí bạn đang ở đâu.............26
Hình 24 Chức năng cho biết được hôm nay là ngày bao nhiêu và giờ hiện tại..........26


Chương 1
1.1

TỔNG QUAN ĐỀ TÀI

Lý do chọn đề tài

Sự phát triển nhanh chóng của AI và học máy đã giúp phát triển cơng nghệ nhận dạng
giọng nói, cơng nghệ này ngày càng đi sâu vào mọi lĩnh vực trong cuộc sống.

Từ những điều trên, cũng với những phân tích bên dưới, ta sẽ chứng minh một cách sinh
động rằng tại sao cơng nghệ điều khiển giọng nói nên được coi là xu thế công nghệ hiện tại
không chỉ bới những ông lớn về IT hay những người có niềm đam mê với AI mà các doanh
nghiệp cũng đang ráo riết nâng cấp, tối ưu hệ thống bằng công nghệ giọng nói hay cịn gọi
là trợ lý ảo.
Những năm gần đây, Trợ lý ảo đã dần trở thành xu hướng công nghệ được đón đầu. Các
“ơng lớn” làng cơng nghệ thế giới đã cho ra đời các trợ lý ảo, được nhiều người biết đến
như: Apple Siri, Google Assistant, Amazon Alexa, Microsoft Cortana. Từ đó chúng tơi
muốn xây dựng một trợ lý ảo dựa trên nền tảng trí thơng minh nhân tạo(AI) nhằm hỗ trợ cho
người dùng dễ dàng sử dụng bằng giọng nói.

1.2

Cấu trúc đồ án



Chương 1: Tổng quan đề tài



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



Chương 3: Phân tích và thiết kế hệ thống



Chương 4: Kết quả đạt được và chương trình demo




Chương 5: Kết luận



Tài liệu tham khảo

1.3

Phương pháp nghiên cứu



Tìm hiểu về ngơn ngữ Python



Tìm hiểu về cơng cụ lập trình Pycharm



Tìm hiểu các thư viện hỗ trợ lập trình



Tìm hiểu các trợ lý ảo hiện có




Phân tích các chức năng và yêu cầu cần có



Tiến hành thu thập và nghiên cứu các tài liệu có liên quan đến đề tài. Tổng hợp các tài
liệu. Chọn lọc các tài liệu nghiên cứu để báo cáo luận văn.



Kiểm tra kết quả đạt được

1.4

Đối tượng nghiên cứu và phạm vi nghiên cứu

XÂY TRỢ LÝ ẢO BẰNG PYTHON

1




Tìm hiểu về cách xây dựng, hoạt động, các tài liệu liền quan đến đề tài



Tìm hiểu về ngơn ngữ python, cách hoạt động của các trợ lý ảo có sẵn




Nghiên cứu các tài liệu liên quan.



Tìm hiểu các cơng cụ lập trình tối ưu



Đối tượng sử dụng: tất cả mọi người có nhu cầu sử dụng giúp tiết kiệm thời gian,…

1.5

Kế hoạch thực hiện
Thời gian
Tuần thứ 15 từ 09/11 đến
15/11
Tuần thứ 16 từ 16/11 đến
22/11

Nội dung thực hiện
Hoàn thành đề cương .
Chuẩn bị và nghiên cứu tài liệu

Tuần thứ 17 từ 23/11 đến

Tiến hành xây dựng trợ lý ảo

29/11
Tuần thứ 18 từ 30/11 đến


Xây dựng các chức năng

06/12
Tuần thứ 19 từ 07/12 đến

Tiếp tục xây dựng các chức năng và viết

13/12
Tuần thứ 20 từ 14/12 đến

báo cáo
Hoàn thiện trợ lý ảo và báo cáo.

20/12

1.6

Dự kiến kết quả

Xây dựng hoàn thiện và demo được chương trình trợ lý ảo với các chức năng cơ bản bằng
ngôn ngữ Python

XÂY TRỢ LÝ ẢO BẰNG PYTHON

2


Chương 2
2.1


CƠ SỞ LÝ THUYẾT

Tổng quan về trợ lý ảo

2.1.1 Sự phát triển của trợ lý ảo
Trong khoảng 1 thập kỉ trợ lại đây, vẫn chưa có một cuộc cách mạng nào thực sự có thể
thay đổi thói quen của người dùng.
Tuy vậy, những năm gần đây, sự phát triển của cơng nghệ AI, nhận diện giọng nói và máy
học hứa hẹn sẽ tạo ra một cuộc cách mạng mới về hình thức tương tác với các thiết bị cơng
nghệ. Khơng bấm, khơng vuốt, người dùng tương lai có thể sẽ chuyển sang nói.
Ưu điểm của ra lệnh giọng nói là giúp người dùng tương tác với thiết bị ít hơn nhưng có
hiệu suất làm việc cao hơn. Điều này rất cần thiết cho lối sống đa nhiệm. Người dùng có thể
vừa chuẩn bị bữa sáng, vừa nghe trợ lý ảo đọc tin tức. Hay có thể vừa lái xe và ra lệnh tìm
kiếm đường. Giọng nói là hình thức tương tác giúp rút ngắn thời gian nhập lệnh tốt nhất
hiện nay.

Hình 1 Sự phát triển của trợ lý ảo

Ngồi ra, trợ lý ảo nhận lệnh bằng giọng nói có thể giúp người dùng giảm dần thời gian
sử dụng điện thoại di động, điều mà các ông lớn công nghệ bắt đầu quan tâm.
Sự phát triển nhanh chóng của AI và học máy đã giúp phát triển công nghệ nhận dạng
giọng nói, cơng nghệ này ngày càng đi sâu vào mọi lĩnh vực trong cuộc sống. Từ những
điều trên, cùng với những phân tích bên dưới, Hybrid Technologies sẽ chứng minh một cách
sinh động cho các bạn thấy rằng tại sao cơng nghệ điều khiển giọng nói nên được coi là xu
thế công nghệ hiện tại không chỉ bởi những ông lớn về IT hay những người có niềm đam mê
với AI mà các doanh nghiệp cũng đang ráo riết nâng cấp, tối ưu hệ thống bằng công nghệ
XÂY TRỢ LÝ ẢO BẰNG PYTHON

3



giọng nói hay cịn gọi là “Trợ lý ảo”.

2.1.2 Trợ lý ảo là gì?

Hình 2 Trợ lý ảo là gì?

Trợ lý ảo (Virtual Assistant) hay còn gọi là trợ lý AI hay trợ lý kỹ thuật số, là chương
trình ứng dụng được thiết kế để "hiểu" các lệnh thoại bằng ngôn ngữ tự nhiên và thực hiện
các tác vụ cho người dùng. Các tác vụ này bao gồm đọc tin nhắn văn bản hoặc địa chỉ email,
tìm kiếm số điện thoại, lên lịch, đặt cuộc gọi điện và nhắc nhở người dùng cuối về các cuộc
hẹn.
Trợ lý ảo là một ứng dụng lập trình hướng nhiệm vụ, nhận dạng giọng nói của con người
và thực hiện các lệnh được phát âm bởi người dùng. Nền tảng của nó là AI và năng suất của
nó dựa vào việc lưu trữ hàng triệu từ và hàng triệu cụm từ. Không giống như các thiết bị
nhận dạng giọng nói đầu tiên mà các nhà khoa học đang nghiên cứu vào những năm 40-50
của thế kỷ trước, các trợ lý kỹ thuật số hiện đại không bị hạn chế bởi một mẫu ngôn ngữ
hoặc từ vựng nhất định. Ví dụ năm 2018, ta có hai loại phần mềm trợ lý giọng nói phổ biến:


Trợ lý ảo tại nhà



Trợ lý ảo tại công sở

Loại đầu tiên thuộc về tự động hóa ngơi nhà (cịn gọi là nhà thông minh), một hệ thống
cho phép điều khiển thiết bị, ánh sáng, điện, thiết bị và những thứ khác lấp đầy trong nhà
của chúng ta. Nhà thông minh địi hỏi phải có kết nối internet và là một phần của Internet

vạn vật (IoT).
Loại thứ hai, trợ lý ảo cho nơi làm việc, có thể được sử dụng ngồi liên lạc với tự động
hóa tịa nhà, như một ứng dụng độc lập được kết hợp như thói quen của mọi người trong
nhóm.
tất cả các tìm kiếm trên internet sẽ được thực hiện bằng giọng nói vào năm
2020
XÂY TRỢ LÝ ẢO BẰNG PYTHON

4


của các tổ chức triển khai chatbot AI trong công ty của họ
của các công ty áp dụng trợ lý giọng nói sử dụng chúng soạn văn bản thay
thế việc gõ thủ công
của các tổ chức tận hưởng cách chatbot đơn giản hóa sự hợp tác giữa các
nhóm
của các doanh nghiệp sử dụng trợ lý AI để quản lý lịch nhân viên

2.1.3 Các loại trợ lý ảo
Về cơ bản trợ lý ảo khác với AI được lập trình hướng tới người dùng khác, được gọi là cố
vấn thông minh. Các chương trình cố vấn thơng minh được lập trình theo chủ đề, cịn trợ lý
ảo được lập trình theo tác vụ.

2.1.4 Một số ứng dụng trợ lý ảo hiện có


Trợ lý Google
 Nền tảng được hỗ trợ: Hệ điều hành-Android, iOS, Chrome OS, iOS, Linux
 Thiết bị thông minh - Google Home


Hình 3 Trợ lý ảo Google được phát triển bởi google cho thiết bị di động và nhà thông minh



Amazon Alexa: lần đầu tiên được phát hành với Amazon Echo, Alexa sớm trở thành
một trợ lý giọng nói ảo được công nhận rộng rãi. Tuy nhiên, không giống như Google
Assistant, có thể khó sử dụng Amazon Alexa trừ khi bạn đang dùng nó với thiết
bị Echo hoặc Firestick.

một
ứng
dụng
trên
điện
thoại
thơng
minh Android hoặc Apple của bạn, Alexa chủ yếu là bộ điều khiển cho các thiết bị
XÂY TRỢ LÝ ẢO BẰNG PYTHON

5


thơng minh khác của Amazon.

Hình 4 Trợ lý ảo Alex được phát triển bởi Amazon,có nhiệm vụ thực hiện mệnh lệnh của người dùng



Siri: là trợ lý giọng nói đầu tiên khiến iPhone trở nên phổ biến hơn. Được ra mắt vào
tháng 10 năm 2011, Apple Siri đã đi được một chặng đường dài. Được tạo để cho phép

người dùng iPhone sống cuộc sống tiện nghi, Siri có thể:
 Trả lời câu hỏi
 Thực hiện cuộc gọi
 Danh bạ FaceTime
 Gửi văn bản
 Cung cấp thông tin cập nhật về thể thao
 Đặt báo thức và thời gian, v.v.

XÂY TRỢ LÝ ẢO BẰNG PYTHON

6


Hình 5 Trợ lý ảo Siri được điều khiển bằng giọng của hãng Apple



Cortana: các nền tảng được hỗ trợ: Windows 10, Windows 10 Mobile, Windows Phone
8, Android, iOS, Amazon Alexa, Gọi loa thông minh, Surface headphone, Microsoft
Band, Xbox One và Windows Mixed Reality

Hình 6 Trợ lý ảo Cortana là trợ lý cá nhân thông minh được tạo bởi Microsoft dành cho Windows10



Bixby: nền tảng được hỗ trợ: Chỉ các thiết bị Samsung
XÂY TRỢ LÝ ẢO BẰNG PYTHON

7



Hình 7 Trợ lý ảo Bixby, ứng dụng trợ lý cá nhân của SAMSUNG- một trong những trợ lý thông minh
nhất



Databox: nằm ngồi cuộc chiến với các cơng ty cơng nghệ lớn, DataBot là một ứng
dụng trợ lý ảo cá nhân nằm cao hơn mức trung bình với đối thủ còn lại. Một ứng dụng
đa nền tảng, với DataBot, bạn có được những thứ trợ lý cá nhân cơ bản nhất cùng với
tùy chỉnh và chatbot. Có nhiều mơ-đun khác nhau có sẵn mà bạn có thể sử dụng để tùy
chỉnh trợ lý giọng nói này.

Hình 8 Trợ lý ảo Databox - ứng dụng đa nền tảng với chức năng cơ bản nhất( không phải từ một thương
hiệu lớn)



Lyra: một ứng dụng trợ lý cá nhân dựa trên đám mây, Lyra là một trợ lý giọng nói đa
XÂY TRỢ LÝ ẢO BẰNG PYTHON

8


nền tảng có thể được sử dụng trên Điện thoại thơng minh, máy tính bảng và máy tính.
Tập trung vào việc thực hiện các cuộc hội thoại thông minh, bạn có thể mong đợi trợ lý
ảo Lyra tìm thấy:
 Nhà hàng và quán bar tốt nhất
 Nhận báo cáo thời tiết
 Nhanh chóng tìm vị trí trên Google Map
 Dịch 70 ngôn ngữ

 Thông tin về phương tiện truyền thông xã hội
 Cung cấp kiến thức chung

Hình 9 Trợ lý ảo Lyra - trợ lý đa nền tảng sử dụng trên điện thoại thơng minh, máy tính bảng và máy tính

2.1.5 Ứng dụng thực tế của trợ lý ảo
Phát triển mạng nơ-ron và xử lý ngơn ngữ tự nhiên hồn tồn hoạt động theo hướng biến
điều khiển giọng nói thành một tiêu chuẩn mới cho nhiều sản phẩm và hành động mà mọi
người sử dụng/thực hiện hàng ngày. Chiến lược Amazon Alexa Everywhere bắt đầu một xu
hướng mới của các công ty phát hành bộ công cụ phát triển thiết bị dịch vụ để tích hợp ứng
dụng trợ lý giọng nói. Các nhà sản xuất thiết bị gia dụng như LG, Whirlpool và Phillips đã
bắt đầu phát hành các mặt hàng hỗ trợ Alexa và phản ứng của người tiêu dùng nhanh chóng
thu hút sự chú ý của các doanh nhân vào các ứng dụng trợ lý giọng nói. 72% chủ sở hữu trợ
lý ảo thừa nhận rằng thiết bị của họ nhanh chóng trở thành một phần thiết yếu trong thói
quen hàng ngày của họ và họ khơng muốn bỏ bộ điều khiển giọng nói này do thói quen bắt
đầu hình thành và dễ sử dụng.
Vì vậy, các nghĩa vụ và nhiệm vụ thực tế mà ứng dụng trợ lý AI có thể làm cho con người
là gì? Bao nhiêu trong số chúng hoạt động tốt? Sau đây là một vài cơng việc mà trợ lý ảo có
XÂY TRỢ LÝ ẢO BẰNG PYTHON

9


thể thực hiện :

Hình 10 Ứng dụng thực tế của trợ lý ảo vào trong các lĩnh vực và các chức năng cơ bản của nó

Gửi thơng tin cập nhật về các chủ đề mà bạn quan tâm mà không cần bạn tìm kiếm chúng
(ví dụ: luật & quy định mới được chính phủ triển khai nếu áp dụng cho doanh nghiệp của
bạn);



Báo cáo thời tiết;



Thêm các sự kiện và các cuộc họp vào lịch của một nhóm hoặc từng thành viên riêng
biệt;



Đặt báo thức và nhắc nhở để mọi thứ diễn ra theo đúng lịch trình;



Trả lời câu hỏi chung bằng giọng nói (thay vì mở liên kết để bạn tìm kiếm câu trả lời);



Tạo và điền vào danh sách việc cần làm;



Thực hiện dịch thuật thời gian thực;



Ngay lập tức cập nhật cho bạn về lưu lượng trên tuyến đường của bạn (đặc biệt hữu ích
cho các hoạt động hậu cần);




Theo dõi hàng tồn kho trong kho và tự động điền vào danh sách mua sắm với các mặt
hàng sẽ được đưa ra ngồi;



Điều khiển các thiết bị khác từ ánh sáng đến PC;



Đọc email và các tài liệu khác thành tiếng thay vì bạn đọc chúng;



Ghi lại lời nói chính tả và chuyển nó thành văn bản thay vì bạn gõ thủ cơng;



Tìm các doanh nghiệp địa phương và nhà thầu cho nhu cầu hiện tại của bạn.

XÂY TRỢ LÝ ẢO BẰNG PYTHON

10


2.1.6 Ưu điểm của trợ lý ảo


Khả năng nhận diện giọng nói và phân tích văn bản (Voice to Text – Text to Voice)

Bằng trí thơng minh nhân tạo, những trợ lý ảo có thể nhận diện giọng nói chính xác, cho

phép người dùng có thể tương tác với máy tính bằng giọng nói dễ dàng. Ví dụ, trợ lý ảo Siri
của Apple sẽ bắt đầu khởi chạy ngay khi bạn nói “Hey Siri” thay vì phải nhấn giữ nút Home
trên iPhone, iPad, sau đó có thể tiếp tục ra lệnh cho Siri thực hiện những điều bạn muốn.


Khả năng xử lý ngôn ngữ tự nhiên (Công nghệ NLP – Natual Language Process)
Trợ lý ảo cịn có thể xử lý ngôn ngữ và đưa ra những câu trả lời phản hồi người dùng, tạo

nên sự tương tác giữa người dùng và thiết bị giống hệt cuộc nói chuyện giữa người với
người.


Sức mạnh tìm kiếm (Search Engine)
“Đứng sau” trợ giúp cho tính năng tìm kiếm của các trợ lý ảo chính là những cơng cụ

đình đám như Bing, Google Search, thư viện bách khoa toàn thư Wikipedia hay Wolfram
Alpha. Với những kho dữ liệu khổng lồ như vậy, rõ ràng những trợ lý ảo sẽ có khả năng tìm
kiếm cực kỳ mạnh mẽ cả về tốc độ lẫn sự chính xác trong kết quả tìm kiếm.


Khả năng học từ người dùng
Trợ lý ảo hồn tồn có thể thu thập dữ liệu từ các thói quen sử dụng, tìm kiếm dữ liệu của

người dùng và đưa ra những gợi ý chính xác nhất, và Trợ lý ảo sẽ “học” từ thói quen người
dùng và trở nên “giỏi” hơn mỗi ngày.


Tốc độ xử lý cao


2.2

Giới thiệu về ngơn ngữ lập trình Python

2.2.1 Định nghĩa và nguồn gốc về Python
2.2.1.1 Định nghĩa
Phiên bản sử dụng trong đồ án: Python 3.9.0
Python là một ngôn ngữ lập trình bậc cao cho các mục đích lập trình đa năng, do Guido
van Rossum tạo ra và lần đầu ra mắt vào năm 1991. Python được thiết kế với ưu điểm mạnh
là dễ đọc, dễ học và dễ nhớ. Python là ngơn ngữ có hình thức rất sáng sủa, cấu trúc rõ ràng,
thuận tiện cho người mới học lập trình. Cấu trúc của Python cịn cho phép người sử dụng
viết mã lệnh với số lần gõ phím tối thiểu.
Python là một ngơn ngữ lập trình thơng dịch (interpreted), hướng đối tượng (objectoriented), và là một ngôn ngữ bậc cao (high-level) ngữ nghĩa động (dynamic semantics).
XÂY TRỢ LÝ ẢO BẰNG PYTHON

11


Python hỗ trợ các module và gói (packages), khuyến khích chương trình module hóa và tái
sử dụng mã. Trình thơng dịch Python và thư viện chuẩn mở rộng có sẵn dưới dạng mã
nguồn hoặc dạng nhị phân miễn phí cho tất cả các nền tảng chính và có thể được phân phối
tự do.

Hình 11 Python là gì?

2.2.1.2 Nguồn gốc
Rossum – Tác giả của Python, là fan của một sê-ri chương trình hài cuối những năm
1970, và cái tên “Python” được lấy từ tên một phần trong sê-ri đó “Monty Python’s Flying
Circus”.


2.2.2 Các tính năng của Python


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



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



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



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



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



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



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




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



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



Python có thể kết nối với các đối tượng COM, .NET (Ironpython, Python for .net),
và CORBA, Java… Python cũng được hỗ trợ bởi Internet Communications Engine
XÂY TRỢ LÝ ẢO BẰNG PYTHON

12


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


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



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



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

thoại di động. Với cùng một mã nguồn sẽ chạy giống nhau trên mọi nền tảng



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



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



Python là ngơn ngữ mã nguồn mở.



Cài đặt Python dùng giấy phép nguồn mở nên được sử dụng và phân tối tự do, ngay cả
trong việc thương mại. Giấy phép Python được quản bởi Python Sofware Foundation

2.2.3 Ưu điểm và hạn chế của ngơn ngữ lập trình Python
Là một ngơn ngữ lập trình mã nguồn mở đa mục đích, một loại ngôn ngữ bậc cao, thông
dịch và hướng đối tượng. Đây là một ngơn ngữ lập trình thơng dịch được tạo ra bởi Guido
van Rossum vào năm 1990.

Hình 12 Các tính năng của python trong lập trình( Ưu điểm và hạn chế của ngôn ngữ python)

Điểm đặc biệt của ngôn ngữ Lập trình Python có cú pháp khá dễ hiểu, dễ đọc và dễ học.
Trong việc phát triển ứng dụng thì ngơn ngữ này cũng rất linh hoạt. Python hỗ trợ mẫu đa
lập trình, bao gồm lập trình hướng đối tượng, lập trình hàm và mệnh lệnh hoặc là các phong

cách lập trình theo thủ tục.
Python là ngơn ngữ lập trình động nên khơng cần sử dụng các kiểu dữ liệu khai báo.


Ưu điểm



Đơn giản: Là một ngơn ngữ có hình thức sáng sủa, cấu trúc rõ ràng, cú pháp ngắn gọn
XÂY TRỢ LÝ ẢO BẰNG PYTHON

13


giúp người lập trình dễ dàng đọc và tìm hiểu.


Tốc độ xử lý khá nhanh, và được đánh giá nhanh hơn so với ngôn ngữ PHP. Với tốc độ
xử lý cực nhanh, Python có thể tạo ra những chương trình từ những script siêu nhỏ tới
những phần mềm cực lớn như Biender 3D.



Chất lượng: Thư viện có tiêu chuẩn cao, Python có khối cơ sở dữ liệu khá lớn nhằm
cung cấp giao diện cho tất cả các CSDL thương mại.



Thuận tiện: Python được biên dịch và chạy trên tất cả các nền tảng lớn. Nó có trên tất cả
các nền tảng hệ điều hành từ UNIX, MS – DOS, Mac OS, Windows và Linix và các OS

khác thuộc họ Unix.



Tương thích mạnh mẽ với Unix, hardware, thirt-party software với số lượng thư viện
khổng lồ (400 triệu người sử dụng)



Mở rộng: Với tính năng này, Python cho phép người lập trình có thể thêm hoặc tùy
chỉnh các cơng cụ nhằm tối đa hiệu quả có thể đạt được trong cơng việc.



GUI Programming: Giúp cho việc thực hiện ảnh minh họa di động một cách tự nhiên và
sống động hơn.



Hạn chế:



Python khơng có các thuộc tính như :protected,private hay public, khơng có vịng lặp
do…while và switch….case.



Mặc dù tốc độ xử lý của Python nhanh hơn PHP nhưng khơng bằng Java và C++.




Khơng có ngơn ngữ nào là hồn hảo và cũng khơng phải ngẫu nhiên mà Python được
nhiều lập trình viên chọn lựa để phát triển web.

2.3

Giới thiệu về công cụ lập trình Pycharm

2.3.1 Sơ lược về Pycharm
Phiên bản sử dụng trong đồ án: PyCharm 2020.2.3 (Community Edition)
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 có mặt trên cả 3 nền tảng Windows,
Linux và Mac OS.
Hiện tại PyCharm có 2 phiên bản:


Phiên bản Professional: đầy đủ tất cả các tính năng, hỗ trợ Python Web với HTML, JS,
và SQL. Mức giá hiện tại 199$ / năm đầu tiên.



Phiên bản Community: hỗ trợ Python development. Miễn phí.
PyCharm Community Edition là phiên bản miễn phí của PyCharm, một IDE nhằm vào
XÂY TRỢ LÝ ẢO BẰNG PYTHON

14


các lập trình viên Python. PyCharm Community Edition là cơng cụ hỗ trợ lập trình,

đánh dấu lỗi, cung cấp giao diện UI (còn gọi là giao diện người dùng) tuỳ biến và hỗ
trợ kiểm tra lỗi cứ pháp chính xác. Phần mềm này là một công cụ đắc lực hỗ trợ bạn
trong các dự án python. Bài viết chia sẽ link download PyCharm mới nhất link gốc và
hướng dẫn cài đặt Pycharm Community Edition.

Hình 13 Sơ lược về Pycharm ( Phiên bản, nguồn gốc và công dụng của công cụ lập trình Pycharm)

2.3.2 Tại sao chọn Pycharm
Pycharm là một giải pháp phù hợp cho Python developers vì IDE này hỗ trợ nhiều
extensions, mơi trường ảo (Virtual Environment), nhiều tính năng thông minh như bộ
code completion, tự động thụt lề, phát hiện văn bản trùng lặp và kiểm tra lỗi. Ngoài ra cịn
có các tính năng tìm kiếm mã nguồn thơng minh để tìm kiếm từng từ một trong nháy mắt.
 Nhiều tính năng
 Chỉnh sửa code hiệu quả
 Cửa sổ cấu hình rộng
 Python IDE mạnh với menu cấu hình phong phú

XÂY TRỢ LÝ ẢO BẰNG PYTHON

15


Chương 3
3.1

Các Actor



Người dùng




Hệ thống

3.2


PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

Yêu cầu người sử dụng

Người dùng:
 Điều khiển bằng giọng nói.
 Xem được thời gian và ngày tháng trực tiếp
 Mở ứng dụng trên máy tính
 Tìm kiếm trên trình duyệt Web
 Truy cập trang web cụ thể như Facebook hay Youtube
 Cập nhật được thông tin mới nhất
 Cập nhật được thông tin thời tiết

3.3

Chức năng của hệ thống trợ lý ảo

Chúng tơi đã xây dựng chương trình trợ lý ảo với các chức năng như:


Thao tác cơ bản như Shutdown hay Sleep máy.




Mở nhạc trên máy tính



Đổi hình nền máy tính



Giao tiếp, chào hỏi



Cho bạn biết thời gian hiện tại



Khởi chạy ứng dụng hệ thống và mở bất kỳ trang web nào trên trình duyệt Chrome



Mở google search và tìm kiếm bất cứ gì cho bạn



Cho bạn biết tin tức




Phát bất cứ một bài hát trên youtube mà bạn u cầu



Có thể giúp bạn cho máy tính của bạn ngủ, tắt máy, hoặc khóa màng hình.



Trợ lý ảo có thể cho biết máy của bạn có sạc điện hay khơng



Có thể mở camera và cmd trên máy



Kể chụn cười



Chụp màn hình



Chuyển sang cửa sổ khác



Có thể cho bạn biết bạn đang ở đâu
XÂY TRỢ LÝ ẢO BẰNG PYTHON


16


×