GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
Báo cáo đồ án đề tài xây dựng trợ lý ảo bằng python
1. ĐẠ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
2. ĐẠ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
3. 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”
4. 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ể hoà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 hoà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!
5. 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
6. 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
7. 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
8. 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ùng6
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 Nguyên 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
9. 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
10. 1
Chương 1 TỔNG QUAN ĐỀ TÀI
1.1 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
11. 2
− 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 Nội dung thực hiện
Tuần thứ 15 từ 09/11 đến
15/11
Hoàn thành đề cương .
Tuần thứ 16 từ 16/11 đến
22/11
Chuẩn bị và nghiên cứu tài liệu
Tuần thứ 17 từ 23/11 đến
29/11
Tiến hành xây dựng trợ lý ảo
Tuần thứ 18 từ 30/11 đến
06/12
Xây dựng các chức năng
Tuần thứ 19 từ 07/12 đến
13/12
Tiếp tục xây dựng các chức năng và viết
báo cáo
Tuần thứ 20 từ 14/12 đến
20/12
Hoàn thiện trợ lý ảo và báo cáo.
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
12. 3
Chương 2 CƠ SỞ LÝ THUYẾT
2.1 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
Ngoà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
13. 4
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 ngoà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
14. 5
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. Là 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
15. 6
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
16. 7
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
Tải bản FULL (37 trang): https://bit.ly/3If0ifT
Dự phòng: fb.com/TaiHo123doc.net
17. 8
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 ngoà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
8090111