Tải bản đầy đủ (.pdf) (78 trang)

Xây Dựng Và Phát Triển Ứng Dụng Học Và Kiểm Tra Tiếng Anh Thông Minh Trên Nền Tảng Dịch Vụ Điện Toán Đám Mây Google (Luận Văn Thạc Sĩ)

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 (1.88 MB, 78 trang )

TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN
VIỆN CÔNG NGHỆ THÔNG TIN VÀ KINH TẾ SỐ
--------------

CHUYÊN ĐỀ THỰC TẬP
Đề tài:
XÂY DỰNG VÀ PHÁT TRIỂN ỨNG DỤNG HỌC VÀ KIỂM TRA
TIẾNG ANH THƠNG MINH TRÊN NỀN TẢNG DỊCH VỤ ĐIỆN TỐN
ĐÁM MÂY GOOGLE

Chun ngành

: Cơng nghệ thơng tin

Hệ

: Chính quy

Lớp

: Cơng nghệ thông tin 57A

Mã sinh viên

: 2367473

Họ tên sinh viên

: Nguyễn Văn An

Hà Nội




MỤC LỤC

LỜI NÓI ĐẦU ...................................................................................................4
CHƯƠNG 1: TỔNG QUAN ............................................................................. 6
1.1.

Đăt vấn đề .............................................................................................. 6

1.2.

Khảo sát các hệ thống hiện có ................................................................ 7

1.3.

Mục tiêu đề tài........................................................................................ 9

1.4.

Phát biểu bài toán xây dựng ứng dựng học tiếng Anh ............................. 9

1.4.1. Yêu cầu bài tốn................................................................................. 9
1.4.2. Các chức năng chính của hệ thống .................................................... 10
1.4.3. Mô tả nghiệp vụ của hệ thống.......................................................... 10
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT................................................................ 12
2.1. Điện toán đám mây .................................................................................. 12
2.1.1. Khái niệm điện toán đám mây ........................................................... 12
2.1.2. Lý do nên sử dụng điện toán đám mây .............................................. 12
2.2.


Các hệ thống thông minh ...................................................................... 14

2.2.1.

Hệ thống thông minh ....................................................................... 14

2.2.2.

Một số hệ thống được tích hợp cơng nghệ thông minh ................... 14

2.2.3.

Tổng quan về trợ lý ảo thông minh (Chatbot)................................. 16

2.2.4.

Cách thức tạo ra Chatbot thông minh ............................................ 16

2.3.

Tổng quan về các công nghệ sử dụng ................................................... 17

2.3.1.

Google Cloud Platform .................................................................. 17

2.3.2.

Node.js........................................................................................... 22


2.3.3.

Reactjs ........................................................................................... 24

2.4.

Đánh giá về công nghệ sử dụng ............................................................ 24

2.4.1.

Đánh giá dịch vụ điện toán đám mây của Google ........................... 24

2.4.2.

Đánh giá việc lưu trữ dữ liệu trên Filestore và Storerage................. 27

CHƯƠNG 3: PHÂN TÍCH HỆ THỐNG ....................................................... 30
2


3.1. Các chức năng của hệ thống .................................................................... 30
3.2. Các biểu đồ hệ thống ............................................................................... 31
3.2.1.

Biểu đồ use-case ............................................................................ 31

3.2.2.

Đặc tả use-case.............................................................................. 31


3.2.3.

Biểu đồ trạng thái .......................................................................... 41

3.2.4.

Biểu đồ tuần tự .............................................................................. 45

3.2.5.

Biểu đồ hoạt động .......................................................................... 49

3.3.

Cơ sở dữ liệu ........................................................................................ 52

CHƯƠNG 4: PHÁT TRIỂN ỨNG DỤNG KIỂM TRA TIẾNG ANH
THƠNG MINH TRÊN NỀN TẢNG DỊCH VỤ ĐIỆN TỐN ĐÁM MÂY
GOOGLE CLOUD .......................................................................................... 57
4.1. Phát triển ứng dụng ................................................................................. 57
4.1.1. Xây dựng phần tương tác với người dùng.......................................... 57
4.1.2. Xây dựng trợ lý ảo thông minh sử dụng dialogflow ........................... 58
4.1.3. Triển khai ứng dụng trên GCP........................................................... 62
4.2. Giới thiệu ứng dụng................................................................................. 63
KẾT LUẬN ...................................................................................................... 72
TÀI LIỆU THAM KHẢO ............................................................................... 73

3



LỜI NĨI ĐẦU
Điện tốn đám mây (ĐTĐM) là một lĩnh vực trong ngành công nghệ thông tin
được quan tâm và phát triển mạnh trong những năm gần đây. Với triết lý cung cấp
tài nguyên để thực hiện tác vụ, và là một dạng của tính tốn phân bố, ĐTĐM ngày
càng được quan tâm trong các ứng dụng thực tiễn. Người dùng chỉ cần quan tâm
đến dịch vụ máy tính, các dữ liệu nằm tại trung tâm dữ liệu đám mây có khả năng
mở rộng và truy cập được ở bất kỳ nơi đâu. Đây là lĩnh vực có tiềm năng phát triển
lớn nên nếu áp dụng lĩnh vực này vào trong quá trình học tập và nghiên cứu sẽ
mang lại hiệu quả cao.
Trong thời đại hội nhập như hiện nay, tiếng Anh ln đóng một vai trị quan
trọng giúp con người tiếp cận với những điều mới lạ, học hỏi thêm những điều
mới, là công cụ cho việc giao tiếp với tất cả mọi người trên thế giới. Vì thế, nhu
cầu học và thi lấy chứng chỉ tiếng Anh luôn rất cao. Nếu có trợ lý học tập như một
website hỗ trợ ôn luyện tiếng Anh sẽ mang lại hiệu quả rất lớn. Chính vì vậy, em
xin thực hiện chun đề của mình với đề tài: “Xây dựng và phát triển ứng dụng
học và kiểm tra tiếng Anh thông minh trên nền tảng dịch vụ điện toán đám mây
Google”.
Chuyên đề bao gồm có bốn chương:
Chương 1: Tổng quan
Chương 2: Cơ sở lý thuyết
Chương 3: Phân tích hệ thống
Chương 4: Phát triển hệ thống kiểm tra tiếng Anh trên nền tảng dịch vụ Google
cloud.

4


DANH MỤC TỪ VIẾT TẮT


TỪ VIẾT TẮT

MƠ TẢ

CNTT

Cơng nghệ thơng tin

GPU

Graphics Processing Unit

GCP

Google Cloud Platform

NLU

Natural Language Understanding

GAE

Google App Engine

SSL

Transport Layer Security

TLS


Transport Layer Security

AWS

Amazone Web Services

VPN

Virtual Private Network

5


CHƯƠNG 1: TỔNG QUAN
1.1. Đăt vấn đề
Trong thời kì phát triển và hội nhập như hiện nay, tiếng Anh luôn là một ngơn
ngữ khơng thể bỏ qua, nó là ngơn ngữ chung cho toàn cầu. Đối với Việt Nam, một
nước đang trong thời kì phát triển thì việc học tiếng Anh lại càng phải đươc trú
trọng hơn nữa. Chúng ta cần phải nghiên cứu cập nhật những xu hướng mới từ
nước ngồi. Trong q trình nghiên cứu phát triển, hầu như tất cả các lĩnh vực đều
sử dụng tiếng Anh, để có thể lĩnh hội được những kiến thức đa dạng, chuyên sâu,
dễ dàng nhất thì chúng ta cần phải biết được tiếng Anh để có thể chắt lọc được
những nguồn tham khảo tốt nhất. Trong môi trường làm việc, ngôn ngữ chung cho
tất cả mọi người là tiếng anh. Vì thế, để cơng việc được hiệu quả thì cần phải có kĩ
năng hiểu và giao tiếp được bằng tiếng anh. Nếu như có kĩ năng tiếng Anh tốt thì
việc tìm ra một cơng việc lương cao, mơi trường năng động, hội nhập là điều khơng
hề khó. Từ đó, sẽ có nhiều những cơ hội việc làm mới, giúp chúng ta giao tiêp
được với thế giới bên ngồi, có thể dễ dàng tìm kiếm thơng tin.
Cuộc cách mạng cơng nghệ 4.0 đã làm thay đổi mạnh mẽ diện mạo của thế
giới. Để thực hiện hố q trình học tiếng Anh thì việc tạo ra những mơ hình học

tiếng Anh làm rút ngắn thời gian học tập mà mang lại được những lợi ích tốt nhất
thì việc nhúng những nền tảng cơ bản công nghệ vào việc học tiếng Anh là điều
cấp thiết. Nền tảng dịch vụ điện toán đám mây Google là cơng cụ hữu ích giúp cho
việc xây dựng và phát triển ứng dụng học và kiểm tra tiếng Anh một cách tốt nhất.
Hệ thống có thể phân tích cấu trúc câu hỏi điền từ giúp cho người dùng có thể nắm
bắt được nội dung kiến thức tốt nhất khi vừa học vừa thực hành. Giao tiếp với trợ
lý ảo hỗ trợ học tập (Chatbbot) thay vì phải nhập văn bản thì hệ thống sẽ giao tiếp
với người dùng thơng qua giọng nói, hệ thống sẽ nhắc nhở việc học tập, lịch sử
học tập xem người dùng đã sai bao nhiêu lần,… Hệ thống sẽ phân tích đoạn văn
bản mà người dùng nhập vào, xem người dùng có ý định làm gì và trả lời lại với
câu trả lời tốt nhất.
Bởi các lý do trên nên em đã lựa chọn đề tài “Xây dựng và phát triển ứng dụng
học và kiểm tra tiếng Anh trên nền tảng dịch vụ điện toán đám mây Google Cloud”
nhằm giúp cho mọi người có thêm một kênh cung cấp kiến thức, hỗ trợ việc nâng
cao khả năng học, nâng cao trình độ người sử dụng, đặc biệt là những người mới
tiêp xúc với tiếng Anh.

6


1.2. Khảo sát các hệ thống hiện có
Nhằm tạo ra được ứng dụng làm loại bỏ đi những nhược điểm và lĩnh hội các
ưu điểm của những hệ thống học tiếng Anh sẵn có hiện nay thì cần tiến hành khảo
sát thực tế cách thao tác và các chức năng của một số website học tiếng Anh miễn
phí. Trên Internet có một số các trang web phục phụ cho quá trình học tiếng Anh
như là Duolingo, Mango Language, Edumall.
Tổng quan cho thấy các trang này trên có thể miễn phí hồn tồn hoặc miễn
phí khi dùng thử, chúng đều khơng tích hợp trợ lý ảo hỗ trợ học tập (chatbot). Điều
này làm cho ứng dụng của ta trở nên đặc biệt và có triển vọng
Duolingo

Website của Duolingo là đây là ứng dụng học tiếng
Anh hồn tồn miễn phí được đánh giá rất cao. Nội dung bài học phong phú với
rất nhiều chủ đề, bài học.
Ưu điểm của ứng dụng này là các bài học được điều chỉnh để có thể thích nghi
được với trình độ của người dùng. Các bài tập được thiết kế giúp người dùng học
tập và ôn từ vựng hiệu quả. Tương tác của hệ thống với người dùng cao thơng qua
hình thức chấm điểm ngay lập tức để cho người dùng biết kết quả và xem trình độ
của mình đến đâu. Hơn thế nữa, Duolingo cịn tạo ra hình thức nhận phần thưởng
ảo động viên quá trình học tập của học viên. Mỗi khi học viên học được kĩ năng
mới hoặc lên được cấp thì học viên sẽ được nhận số tiền ảo để mua vật phẩm. Điều
này đánh vào đúng tâm lý đối tượng là những trẻ em vừa học vừa chơi. Giao diện
của duolingo cũng rất thân thiện, nội dung bài học phong phú tích hợp mạng xã
hội giúp mọi người thảo luận dễ dàng. Đăc biệt, duolingo miễn phí hồn tồn các
bài học cho nhiều ngôn ngữ chứ không phải riêng mỗi tiếng Anh
Nhược điểm của ứng dụng Duolingo này là không có phần học ngữ pháp. Đây
có thể là thiếu sót khá lớn khi học một ngôn ngữ mới mà lại không học ngữ pháp.
Nếu người dùng muốn dựa vào các ứng dụng này để phục vụ cho quá trình thi cử
như toeic, ielts,.. thì sẽ gặp nhiều khó khăn. Điều này sẽ khiến các học viên chuyển
hướng lựa chon sang các ứng dụng học tiếng Anh khác. Tuy bố cục và ý tưởng của
ứng dụng rất tốt nhưng chỉ riêng điều đó đã làm mất đi một số lượng lớn các học
viên tiềm năng.
Mango Language
Website . Đây cũng là website học tiếng Anh
7


có giao diện đẹp, dễ sử dụng. Nội dung bài học rất chi tiết, tập trung vào kỹ năng
nghe, nói. Tuy nhiên chỉ có thể học miễn phí được một số bài
Ưu điểm của Mango Language là thiết kế giống như các trị chơi, học viên có
thể vừa học vừa chơi. Với ứng dụng này thì học viên có thể học được nhiều từ

vựng và ngữ pháp, nội dung nghe rất nhiều giúp học viên luyện tập với giọng nói
rất rõ ràng,chúng bổ sung thêm phần văn hoá giúp học viên kích thich học tập
nhiều hơn thơng qua đọc một số những kiến thức văn hoá của người Anh và có thể
sử dụng chúng trong cuộc sống hàng ngày. Ứng dụng có trên 60 khố học về ngơn
ngữ với 17 khố học về tiếng Anh do chính những người bản xứ dạy. Điều này sẽ
là trải nghiệm thú vị cho người dùng.
Nhược điểm của Mango Language là muốn học thì phải mất phí, người dùng
chỉ học miễn phí được một số bài trên đó, nếu học xong và muốn học thêm nữa thì
người dùng phải tri trả một lượng tiền để tiếp tục quá trình học của mình trên ứng
dụng.Hơn thế nữa, Mango Language khơng có hệ thống tính điểm, mạng xã hội
để người dùng thảo luận. Điều này không làm tạo lòng tin cho các học viên muốn
sử dụng ứng dụng này trong quá trình học tập của mình.
Edumall
Website là website ôn luyện thi chứng chỉ quốc tế. Nội
dung bài học được thiết kế theo dạng các video giống như các bài giảng trực tuyến.
Tuy nhiên, để được học thì người học phải chi trả một số tiền thì mới có thể học
tập.
Ưu điểm của Edumall là bài học thiết kế theo dạng là các video do các giảng
viên trình bày khá chi tiết, giọng nói, phát âm chuẩn giúp người học phần nào cải
thiện được kĩ năng nghe, phát âm thông qua bài học mà chưa cần đến các tài liệu
luyện nghe. Mỗi bài học sẽ tổng hợp các bí quyết để làm bài thi TOEIC hiệu quả
và các kỹ thuật tránh lỗi, tránh bẫy hay gặp khi luyện thi và làm bài thi TOEIC.
Website cho phép bình luận đánh giá làm tăng khả năng tương tác giữa giảng viên
và học sinh. Hệ thống sẽ thống kê giúp người học xem đã hoàn thành được bao
nhiêu phần trăm khố học rồi. Từ đó, người học có thể cân nhắc được thời gian
học tập của mình một cách hợp lý.
Nhược điểm của Edumall là chính bởi lộ trình học theo từng ngày, khơng nói
rõ video phục vụ cho part nào trong toeic. Bố cục các phần trong toeic khơng được
thể hiện làm cho người học khơng có cái nhìn tổng qt về các phần trong toeic
nên khơng thể học theo ý mình mong muốn mà buộc phải theo lộ trình từ đầu đến

8


cuối. Bài giảng khơng có danh sách từ vựng nên người học phải tự viết lại trong
các bài ở video. Tài liệu ơn tập phải tải về thì mới sử dụng được. Trong khi đó,
đường truyền khá chậm và tài liệu phải tải ở bài đầu tiên mà không phải ở từng bài
học nên học viên rất khó lấy được tài liệu để ôn tập.
Theo thống kê trên trang IIG VIET NAM:”TOEIC hiện đang được sử dụng
rộng rãi tại hơn 150 quốc gia trên thế giới với hơn 7 triệu bài thi/năm và là bài thi
uy tín nhất được hơn 14.000 tổ chức sử dụng để đánh giá trình độ sử dụng tiếng
Anh trong môi trường làm việc quốc tế. Tại Việt Nam, TOEIC đã và đang được sử
dụng làm chuẩn đầu ra tại hơn 127 trường Đại học, Cao đẳng, hệ thống trường
nghề và là tiêu chuản tuyển dụng và đánh giá tại hơn 350 tập đồn, tổng cơng ty,
doanh nghiệp lớn trên tồn quốc. Theo đó, TOEIC thực sự là chứng chỉ Tiếng Anh
tối ưu cho hồ sơ xin việc” [1]. Qua đây, ta có thể thấy nhu cầu học tiếng Anh của
mọi người là rất lớn nên việc tạo ra ứng dụng học tiếng anh trực tuyến để loại bỏ
được những nhược điểm của các hệ thống nêu trên sẽ mang lại lợi ích đáng kể.
1.3. Mục tiêu đề tài
Mục đích xây dựng được một ứng dụng học tiếng Anh trên nền Web sử dụng
dịch vụ điện tốn đám mây và tích hợp trợ lý thơng minh. Hỗ trợ người dùng một
cách tốt nhất, tạo hứng thú cho người dùng, giúp người dùng tiến bộ một cách
nhanh nhất. Để làm được điều này thì ứng dụng cần đạt được một số những mục
tiêu như là
- Xây dựng đợc một ứng dụng web có chức năng học và kiểm tra kiến thức
tiếng Anh cho người sử dụng
- Tích hợp trợ lý ảo thông minh (chatbot) vào ứng dụng, trong những ngữ
cảnh khác nhau trợ lý thơng minh có thể hỗ trợ người dùng học tập một
cách hiệu quả nhất.
1.4. Phát biểu bài toán xây dựng ứng dựng học tiếng Anh
1.4.1. Yêu cầu bài toán

Để phục vụ cho quá trình học tập tiếng Anh thì cần xây dựng một website học
tiếng Anh có giao diện bắt mắt mà người dùng có thể học lý thuyết và luyện tập
nâng cao trình độ
- Xây dựng một trợ lý ảo thơng minh có thể tương tác với người dùng một cách
thơng minh nhất có thể, hoạt động ổn đinh, có thể mở rộng, tích hợp với các hệ
thống khác
- Tích hợp trợ lý ảo thông minh vào website học tiếng anh, từ đó trợ lý ảo thơng
9


minh có nhiệm vụ hỗ trợ người dùng trong việc học, có thể gợi ý cho người dùng
hoặc trợ giúp nếu người dùng yêu cầu,….
1.4.2. Các chức năng chính của hệ thống
Chức năng của website
+ Người dùng có thể vào website để học tiếng Anh theo hình thức làm bài trắc
nghiệm hoặc đọc bài lý thuyết
+ Ứng dụng lưu lại lịch sử hoạt động của người dùng và cho phép người dùng
xem lại để tự đánh giá được bản than
Chức năng của trợ lý ảo thơng minh.
+ Trị chuyện đơn giản với người dùng tạo sự tương tác qua lại
+ Nhận những lệnh đơn giản để trợ giúp người dùng
+ Tuỳ vào những ngữ cảnh khác nhau mà có thể chủ động tương tác, hỗ trợ
người dùng.
1.4.3. Mô tả nghiệp vụ của hệ thống
Hệ thống hoạt động theo quy trình như sau:
-

-

Người dùng sẽ truy cập vào website bằng trình duyệt web, nếu đã có tài

khoản, người dùng sẽ thực hiện đăng nhập để sử dụng các dịch vụ khác.
Nếu chưa có tài khoản người dùng có thể sử đăng kí tài khoản để sử dụng
dịch vụ. Sau khi đăng nhập, người dùng sẽ sử dụng các chức năng khác
Sau khi đăng nhập ứng dụng sẽ đưa người dùng đến trang chào mừng, trang
này có nhiệm vụ giới thiệu cơ bản cho người dùng về ứng dụng như những
chức năng người dùng có thể làm, người dùng có thể tương tác với trợ lý
thông minh hỗ trợ học tập như nào. Tại đây người dùng có thể lựa chọn vào
bài học hoặc thử ra lệnh cho trợ lý thông minh. Tại màn hình này người
dùng có thể ra lệnh cho trợ lý thông minh vào các bài học cụ thể như bài
nghe (Listening), bài đọc (Reading) hoặc bài ngữ pháp (Grammar). Người
dùng sẽ ra lệnh cho trợ lý thông bằng giọng nói và nếu mệnh lệnh của người

-

dùng hợp lệ trợ lý thông minh sẽ thực hiện mệnh lệnh
Sau màn hình chào mừng là màn hình các bài học, người dùng có thể vào
màn hình này bằng cách ra lệnh cho trợ lý thông minh hoặc chọn vào bài
học trên giao diện. Tại đây sẽ xuất hiện thanh menu cho phép người dùng
chọn lựa chọn bài học nghe, đọc hoặc ngữ pháp. Tại màn hình này xuất hiện
10


them một khung chat, đây chính là nơi người dùng và trợ lý thông minh sẽ
tương tác với nhau. Bất kỳ khi nào người dùng muốn đều có thể gõ hoặc
nói ý định của mình cho trợ lý thơng minh biết, nếu trong khả năng của
mình, trợ lý thơng minh sẽ thực hiện mệnh lệnh hoặc hỗ trợ người dùng
trong quá trình học
-

Tuỳ vào những ngữ cảnh khác nhau mà trợ lý thơng minh cũng có thể chủ

động tương tác với người dùng. Khi người dùng lâu không đăng nhập vào
ứng dụng, trợ lý thơng minh có thể gửi cho người dùng một thông điệp nhắc
nhở để người dùng chứ ý hơn. Trong q trình làm bài tập, có thể người
đùng sẽ gặp khó khăn, khơng trả lời được câu hỏi, trợ lý thơng minh có thể
chủ động hỏi người dùng, nếu người dùng muốn trợ lý thơng minh có thể
đưa ra gợi ý để người dùng làm bài tốt và hiểu bài một cách tốt nhất. Người
dùng cũng có thể ở trong trường hợp làm sai một câu quá nhiều lần, trợ lý
cũng có thể nhắc nhở để người dùng chú ý hơn.

-

Ngoài việc ra lệnh lựa chọn bài học cho mình, người dùng có thể u cầu
trợ lý thông minh hỗ trợ những công việc phục vụ việc trả lời câu hỏi như
dịch câu, phân tích cấu trúc câu hỏi, đưa ra gợi ý trả lời.

Trợ lý càng thơng minh thì người dùng sẽ thích thú việc học hơn. Như vậy
viêc tích hợp thành cơng trợ lý thơng minh vào ứng dụng sẽ giúp ích rất nhiều cho
người học, giúp sản phẩm hoàn thiện hơn.

11


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1. Điện toán đám mây
2.1.1. Khái niệm điện toán đám mây
Theo wikipedia: “Điện toán đám mây (tiếng Anh: Cloud Computing), cịn gọi
là điện tốn máy chủ ảo, là mơ hình điện tốn sử dụng các cơng nghệ máy tính và
phát triển dựa vào mạng Internet. Thuật ngữ "đám mây" ở đây là lối nói ẩn dụ chỉ
mạng Internet (dựa vào cách được bố trí của nó trong sơ đồ mạng máy tính) và
như một liên tưởng về độ phức tạp của các cơ sở hạ tầng chứa trong nó. Ở mơ

hình điện tốn này, mọi khả năng liên quan đến công nghệ thông tin đều được
cung cấp dưới dạng các "dịch vụ", cho phép người sử dụng truy cập các dịch vụ
công nghệ từ một nhà cung cấp nào đó "trong đám mây" mà khơng cần phải có
các kiến thức, kinh nghiệm về cơng nghệ đó, cũng như khơng cần quan tâm đến
các cơ sở hạ tầng phục vụ cơng nghệ đó” [2].
2.1.2. Lý do nên sử dụng điện toán đám mây
Điện toán đám mây là công nghệ mà giải quyết được rất nhiều vấn đề lớn trong
thưc tế, việc sử dụng công nghệ này để lưu trữ dữ liệu làm tăng khả năng lưu dữ
liệu của máy chủ và bảo đảm được việc chi trả và dữ liệu được truy từ khắp mọi
nơi trên thế giới. Sau đây là một số ưu điểm của điện tốn đám mây.
Triển khai nhanh chóng: So sánh với những phương pháp thông thường khi
triển khai một ứng dụng trên Internet, thì người dùng bắt buộc phải thực hiện các
công việc như mua hoặc thuê thiết bị từ bên ngồi và phải cài đặt và cấu hình phần
mềm, đưa các ứng dụng đó vào trong đám mây, khi người dùng sử dụng điện toán
đám mây sẽ loại bỏ được những cơng việc mà địi hỏi thời gian lớn, người dùng
chỉ phải phát triển, triển khai các ứng dụng của mình lên “clound” khi sử dụng các
đám mây nền tảng. Bên cạnh đó, khả năng tăng hoặc giảm sự cung cấp tài nguyên
nhanh chóng theo nhu cầu tiêu dùng của ứng dụng tại các thời điểm khác nhau nhờ
công nghệ ảo hóa của điện tốn đám mây cũng là một trong những đặc điểm vượt
trội của công nghệ này, thể hiện khả năng triển khai nhanh đáp ứng đòi hỏi tài
nguyên tức thời của ứng dụng.
Giảm chi phí: Với dịch vụ điện tốn đám mây chi phí đầu tư cơ sở hạ tầng, chi
phí bảo trì hệ thống sẽ được cắt bỏ, người dùng chỉ phải chi trả cho những tài
ngun tính tốn mà mình dùng. Điều này làm giảm những khó khăn khi người
dùng cần tính tốn xử lý các tác vụ trong một lần duy nhất hoặc không thường
xuyên do họ có thể đi thuê cơ sở hạ tầng được cung cấp bởi bên thứ ba.
12


Chia sẻ: Tài ngun tính tốn giữa các người dùng được chia sẻ với nhau làm

giảm chi phí đầu tư hạ tầng tính tốn giữa một phạm vi lớn người dùng. Sự chia sẻ
này cho phép tập trung cơ sở hạ tầng để phục vụ các bài toán lớn với chi phí thấp
hơn việc đầu tư hệ thống máy chủ tính tốn từ đầu.
Khả năng chịu tải nâng cao: Về lý thuyết, tài ngun tính tốn trên đám mây
là vơ hạn. Việc thêm vào năng lực tính tốn để chịu tải cao có thể được thực hiện
chỉ bằng các thao tác kích chuột hoặc đã được tự động hố.
Độ tin cậy: Người sử dụng điện toán đám mây được ký hợp đồng sử dụng với
điều khoản chất lượng dịch vụ rất cao ghi sẵn trong hợp đồng. Chất lượng dịch vụ
đám mây đơn giản được đánh giá ổn định hơn hệ thống tự triển khai do nền tảng
đám mây được thiết kế và bảo trì bởi đội ngũ chuyên gia nhiều kinh nghiệm về hệ
thống. Hơn nữa, việc luôn làm việc với hệ thống lớn và gặp nhiều lỗi tương tự
nhau nên q trình khơi phục hệ thống sau thảm họa thơng thường là nhanh chóng.
Tính co giãn linh động: Tính co giãn thể hiện sự linh động trong việc cung cấp
tài ngun tính tốn theo nhu cầu thực tế của người dùng hoặc các ứng dụng dịch
vụ. Theo đó tài nguyên sẽ được đáp ứng một cách tự động sát với nhu cầu tại thời
gian thực mà không cần người dùng phải có kỹ năng cho q trình điều khiển này.
Bảo mật: Do dữ liệu tập trung trong các đám mây ngày càng lớn nên các nhà
cung cấp luôn chú trọng nâng cao công nghệ và đặt ra những rào cản để tăng tính
an tồn cho dữ liệu. Các nhà cung cấp dịch vụ đám mây lớn có khả năng và tiềm
lực để giải quyết các vấn đề bảo mật mà nhiều khách hàng khơng có khả năng và
chi phí để thực hiện. Các nhà cung cấp sẽ ghi nhớ các nhật ký truy cập, nhưng việc
truy cập vào chính bản thân các nhật ký truy cập này có thể cũng rất khó khăn do
chính sách của nhà cung cấp đám mây khi người dùng tự mình muốn xác minh rõ
hệ thống của mình có an tồn khơng.
Cơng nghệ điện tốn đám mây có rất nhiều ưu điểm vượt trội vì vậy xây dựng
ứng dụng học tiếng Anh thơng minh sẽ giúp giảm bớt được rất nhiều công việc và
thời gian thực hiện. Để đáp ứng được tất cả những yêu cầu cho ứng dụng của mình
cần chọn một nhà cung cấp dịch vụ đủ tốt. Google là một trong những nhà cung
cấp dịch vụ điện toán đám mây hang đầu hiện nay. Sử dụng dịch vụ của những nhà
cung cấp hàng đầu như Google thì ta có thể yên tâm về dịch vụ được cung cấp.

Các phân tích đánh giá về điện toán đám mây của Google sẽ được trình bày trong
phần sau.

13


2.2. Các hệ thống thông minh
2.2.1. Hệ thống thông minh
Một hệ thống thơng minh là một cỗ máy có máy tính kết nối Internet nhúng, có
khả năng thu thập và phân tích dữ liệu và giao tiếp với các hệ thống khác. Các tiêu
chí khác cho hệ thống thơng minh bao gồm khả năng học hỏi kinh nghiệm, bảo
mật, kết nối, khả năng thích ứng theo dữ liệu hiện tại và khả năng giám sát và quản
lý từ xa.
Trong CNTT, một hệ thống được định nghĩa là một tập hợp các phần tử hoặc
thành phần được kết nối và được tổ chức cho một mục đích chung. Mặc dù chúng
thường được nói về các thiết bị, các hệ thống thơng minh không chỉ bao gồm các
thiết bị thông minh mà còn cả các bộ sưu tập của các thiết bị đó được kết nối với
nhau, bao gồm cả mạng và các loại hệ thống lớn hơn. Hệ thống thông minh sử
dụng trí tuệ nhân tạo (AI) và học máy (Machine Learning) giúp các cỗ máy tìm
hiểu các bài học giống như cách con người thực hiện
Về cơ bản, một thiết bị thơng minh là bất cứ điều gì có chứa một chức năng,
mặc dù khơng thường có mục đích chung , máy tính với kết nối Internet. Một hệ
thống nhúng có thể mạnh mẽ và có khả năng xử lý và phân tích dữ liệu phức tạp,
nhưng nó thường chun dùng cho các tác vụ liên quan đến máy chủ.
2.2.2. Một số hệ thống được tích hợp cơng nghệ thơng minh
Nhà an ninh và nhà thông minh
Để đảm bảo an tồn cho gia đình, nhiều chủ nhà đã nắp camera tích hợp AI và
hệ thống báo động. Các hệ thống tiên tiến này sử dụng phần mềm nhận dạng khuôn
mặt và học máy để xây dựng một danh mục khách truy cập thường xuyên, cho
phép các hệ thống này phát hiện những vị khách không mời ngay lập tức.

Nhà thông minh được hỗ trợ bởi AI cũng cung cấp nhiều tính năng hữu ích
khác, như theo dõi khi chủ nhà lần cuối ra ngồi hoặc thơng báo khi có ai về. Các
hệ thống mới nhất thậm chí có thể gọi các dịch vụ khẩn cấp một cách tự động, làm
cho nó trở thành một sự thay thế hấp dẫn cho các dịch vụ dựa trên đăng ký cung
cấp các lợi ích tương tự.
AI tiêu dùng sẽ kích hoạt sóng sau làn sóng tự động hóa thuận tiện trong
nhà. Khi kết hợp với các thiết bị, AI có thể làm cho cơng việc nhà và quản lý hộ
gia đình trở nên liền mạch.
Các ứng dụng hỗ trợ AI cho phép lò nướng giao tiếp với tủ lạnh và robot đựng
thức ăn sẽ hoạt động như các đầu bếp gia đình. Bổ sung ngay lập tức thực phẩm
và nguồn cung cấp có nghĩa là khơng bao giờ hết bất cứ điều gì một lần nữa. Việc
14


dọn dẹp có thể được lên lịch thơng qua các kết nối cảm biến với thiết bị, sau đó
các chất tẩy rửa robot sẽ hoạt động gần như hoàn toàn độc lập với con người.
Một lợi thế khác của nhà thông minh là giảm rác thải sinh hoạt và tái chế tự
động, giúp hộ gia đình cân bằng tốt hơn với hệ sinh thái. Giải phóng con người
khỏi việc nhà có thể mang lại lợi ích lớn về mặt cải thiện tính bền vững, tiết kiệm
thời gian và giảm căng thẳng.
Ơ tơ tự lái và vận chuyển tự động
Xe ơ tơ có thể tự lái trên đường khi gặp trở ngại và hiểu được mơ hình cũng
như quy tắc giao thông dựa trên Google Maps đã lấy dữ liệu vị trí từ điện thoại
thơng minh của chủ xe. Bằng cách so sánh vị trí của thiết bị từ thời điểm này đến
thời điểm khác, nó có thể xác định thiết bị đang di chuyển nhanh như thế nào. Nói
một cách đơn giản, nó có thể xác định lưu lượng truy cập chậm như thế nào trong
thời gian thực, kết hợp dữ liệu đó với các sự cố được báo cáo bởi người dùng để
xây dựng hình ảnh về lưu lượng truy cập tại bất kỳ thời điểm nào. Bản đồ có thể
đề xuất tuyến đường nhanh nhất dựa trên tình trạng kẹt xe, công việc xây dựng
hoặc tai nạn giữa người lái xe và điểm đến.

Học máy cho phép xe tự lái thích ứng tức thời với thay đổi điều kiện đường xá,
đồng thời học hỏi từ các tình huống đường mới. Bằng cách liên tục phân tích cú
pháp thơng qua một luồng dữ liệu trực quan và cảm biến, các máy tính có thể đưa
ra quyết định chia giây thậm chí nhanh hơn các trình điều khiển được đào tạo tốt.
Tất cả dựa trên các nguyên tắc cơ bản chính xác của học máy được sử dụng
trong các ngành cơng nghiệp khác. Các tính năng đầu vào là dữ liệu cảm biến và
hình ảnh thời gian thực để đưa ra các hành động cho xe ơ tơ.
Chăm sóc sức khỏe nâng cao
Các bệnh viện sử dụng học máy để hỗ trợ điều trị bệnh nhân thấy ít tai nạn hơn
và ít trường hợp mắc các bệnh liên quan đến bệnh viện, như nhiễm trùng huyết. AI
cũng đang giải quyết một số vấn đề khó giải quyết nhất của y học, như cho phép
các nhà nghiên cứu hiểu rõ hơn về các bệnh di truyền thông qua việc sử dụng các
mơ hình dự đốn.
Trước đây, các chun gia y tế phải xem xét lại các luồng dữ liệu theo cách thủ
cơng trước khi họ chẩn đốn hoặc điều trị cho bệnh nhân. Ngày nay, GPU điện
toán hiệu năng cao đã trở thành cơng cụ chính cho các nền tảng AI và học tập
sâu. Các mơ hình Deep Learning nhanh chóng cung cấp những hiểu biết thời gian
thực và kết hợp với sự bùng nổ của sức mạnh tính tốn, đang giúp các chun gia
chăm sóc sức khỏe chẩn đốn bệnh nhân nhanh hơn và chính xác hơn, phát triển
15


các loại thuốc và phương pháp điều trị mới, giảm các lỗi chẩn đoán và chẩn đoán,
giảm các phản ứng bất lợi chi phí chăm sóc sức khỏe cho nhà cung cấp và bệnh
nhân.
2.2.3. Tổng quan về trợ lý ảo thơng minh (Chatbot)
ChatBot chính là chương trình máy tính tương tác với người dùng bằng ngôn
ngữ tự nhiên thông qua một giao diện đơn giản, âm thanh hoặc dưới dạng tin nhắn
văn bản.
Phạm vi và sự phức tạp của một ChatBot được xác định bởi những thuật toán

của người xây dựng nên nó. ChatBot là chính sự kết hợp của những kịch bản được
tạo dựng từ trước và tự học trong quá trình tương tác với con người. Với hệ thống
các câu hỏi được đặt ra, chatbot sẽ dự đoán và phản hồi lại một cách chính xác
nhất có thể. Nếu có những tình huống chưa xảy ra (khơng có trong cơ sở dữ liệu),
ChatBot sẽ bỏ qua nhưng nó sẽ đồng thời “bắt chước” để có thể áp dụng cho các
cuộc trò chuyện thường xuyên (lặp đi lặp lại nhiều lần) sau này.
Công cụ hỗ trợ này được cho là sẽ làm thay đổi hoàn toàn cách mà con người
tương tác với các Website hoặc các trang Fanpage. Chatbot có nhiệm vụ thay thế
con người trong việc tương tác với người dùng. Việc tích hợp chatbot vào ứng
dụng sẽ làm ứng dụng trở nên thơng minh hơn, ngồi ra trong q trình học tập,
người dùng có được sự hỗ trợ của chatbot sẽ làm cho người dùng thích thú, đạt
hiệu quả cao hơn trong học tập
2.2.4. Cách thức tạo ra Chatbot thông minh
Hiểu ngữ cảnh:
Để hiểu rõ về ngữ cảnh, bot cần phân tích các yếu tố đầu vào như thời gian,
ngày, lịch sử hội thoại, cấu trúc câu, v.v để có phản ứng hợp lý cả bối cảnh vật lý
cũng như bối cảnh ngôn ngữ. Để kết hợp bối cảnh ngôn ngữ, các cuộc hội thoại
phải được nhúng vào một vectơ là một nhiệm vụ khó khăn.
Phản hồi mạch lạc:
Để có một cuộc trị chuyện giống như con người, bot cần có giọng điệu và
phương ngữ để giao tiếp giống như con người. Chúng ta không thể mong đợi bot
nói chuyện với các âm hoặc giọng khác nhau nhưng nó cần phải phù hợp với ngơn
ngữ và phong cách của nó. Để thực hiện điều này, điều quan trọng là phải nghĩ ra
một nhân vật cho bot và bám sát nó trong khi quản lý tất cả các cuộc hội thoại. Để
đạt được sự kết hợp này có thể phức tạp, đặc biệt là nếu các bot có âm thanh cùng
với văn bản.
16


Phản hồi sáng tạo:

Hầu hết các cuộc hội thoại trên chatbot đều dựa trên luồng được xác định trước,
được hướng dẫn để đưa người dùng từ giai đoạn giới thiệu vào cuộc trò
chuyện. Khả năng tạo ra các phản hồi có liên quan phụ thuộc vào cách chatbot
được đào tạo. Hệ thống tạo ra thất bại nếu chatbot khơng có khả năng cung cấp sự
đa dạng cần thiết để xử lý các đầu vào cụ thể.
Khả năng học tập:
Chatbot có thể hỏi nhiều câu hỏi chỉ để biết về sở thích của người dùng. Nhưng
nếu nó hỏi cùng một câu hỏi mỗi lần nó sẽ trở nên khó chịu. Ngồi ra, người dùng
có xu hướng tiếp tục cuộc trị chuyện từ thời điểm họ rời đi. Do đó, khả năng học
máy là cần thiết để một chatbot được xem là thông minh nhân tạo.
2.3. Tổng quan về các công nghệ sử dụng
Để thực hiện xây dựng ứng dụng học và kiểm tra tiếng anh, ứng dụng cần phải
sử dụng những công nghệ một số dịch vụ của Google Cloud Platform, Nodejs,
Reactjs
2.3.1. Google Cloud Platform
“Google Cloud Platform (GCP) là nền tảng điện toán đám mây cho phép doanh
nghiệp, tổ chức xây dựng và chạy các ứng dụng của mình trên chính hệ thống mà
Google đã và đang sử dụng cho các sản phẩm của Google như Google Search,
Google Maps, Google Apps, Chrome, Youtube, … GCP mang đến tất các các dịch
vụ thiết yếu, bao gồm Big Data, Storage, Compute Engine, Networking,
Management, Developer Tools, Mobile. Do đó, nhà phát triển chỉ cần tập trung
vào những công việc thật sự quan trọng với họ mà không cần phải quan tâm đến
hệ thống bên dưới. GCP không chỉ mang đến những dịch vụ quen thuộc, điểm
khác biệt còn nằm ở chỗ những dịch vụ đó được đặt tại Google – nơi có một hệ
thống Datacenter với mức độ bảo mật và an toàn dữ liệu, đáp ứng các tiêu chuẩn
khắt khe nhất đối với một hệ thống điện toán đám mây” [3].

17



Dưới đây là môt các dịch vụ mà GCP cung cấp

Hình 1: Các dịch vụ GCP cung cấp
Firebase
Firebase là một dịch vụ hệ thống backend được Google cung cấp sẵn cho ứng
dụng Mobile và web, với Firebase ta có thể rút ngắn thời gian phát triển, triển khai
và thời gian mở rộng quy mơ của ứng dụng mình đang phát triển. Hỗ trợ cả 3 nền
tảng Android, IOS và Web, Firebase mạnh mẽ, đa năng, bảo mật và là dịch vụ cần
thiết đầu tiên để xây dưng ứng dụng với hàng triệu người sử dụng. Sử dụng
Firebase ta sẽ có được hưởng các lợi ích sau:
-

Xây dựng ứng dụng nhanh chóng mà khơng tốn thời gian, nhân lực để quản
lý hệ thống và cơ sơ sở hạ tầng phía sau: Firebase cung cấp cho bạn chức
năng như phân tích, cơ sở dữ liệu, báo cáo hoạt động và báo cáo các sự cố
lỗi để ta có thể dễ dàng phát triển, định hướng ứng dụng của mình vào người
sử dụng nhằm đem lại các trải nghiệm tốt nhất cho họ.
18


-

Uy tín chất lượng đảm bảo từ Google: Firebase được Google hỗ trợ và cung
cấp trên nền tảng phần cứng với quy mơ rộng khắp thế giới, được các tập
đồn lớn và các ưng dụng với triệu lượt sử dụng từ người dùng.

-

Quản lý cấu hình và trải nghiệm các ứng dụng của Firebase tập trung trong
một giao diện website đơn giản, các ứng dụng này hoạt động độc lập nhưng

liên kết dữ liệu phân tích chặt chẽ.

Các dịch vụ mà Firebase cung cấp

Hình 2: Các dịch vụ của Firebase

Ta có thể thấy, Firebase cung cấp rất nhiều dịch vụ hỗ trợ giúp các lập trình
viên xây dựng ứng dụng của mình. Việc tích hợp Firebase vào ứng dụng giúp các
lập trình viên giảm bớt được rất nhiều cơng lập trình biệt là cho các lập trình viên
viết các ứng dụng có liên quan tới web. Firebase gần như cung cấp đầy đủ các dịch
vụ để tạo ra một ứng dụng mà không cần đến server.
Những dịch vụ của Firebase mà ta sẽ sử dụng để xây dựng ứng dụng học tiếng
Anh đó là Cloud Firestore, Storage, Functions
Cloud Firestore
Lưu trữ và đồng bộ dữ liệu giữa người dùng và thiết bị ở quy mơ tồn cầu sử
dụng cơ sở dữ liệu noSQL được lưu trữ trên hạ tầng cloud. Cloud Firestore cung
19


cấp tính năng đồng bộ hóa trực tuyến và ngoại tuyến cùng với các truy vấn dữ liệu
hiệu quả.
Cloud Storage
Lưu trữ và chia sẻ nội dung do người dùng tạo ra như hình ảnh, âm thanh và
video với bộ nhớ đối tượng mạnh mẽ, đơn giản và tiết kiệm chi phí được xây dựng
cho quy mơ của Google.
Functions
Mở rộng ứng dụng bằng mã phụ trợ tùy chỉnh mà không cần quản lý các máy
chủ của riêng biệt. Các chức năng có thể được kích hoạt bởi các sự kiện, được phát
sinh ra bởi các sản phẩm Firebase, dịch vụ Google Cloud hoặc các bên thứ ba có
sử dụng webhooks.

Dialogflow
Dialogflow là một dịch vụ do Google cung cấp nhằm giúp các lập trình viên dễ
dàng hơn khi lập trình các sản phẩm có giao tiếp giữa người dùng với sản phẩm
thơng qua các đoạn hội thoại bằng văn bản (text) hoặc giọng nói (voice).
Dialogflow sử dụng trí tuệ nhân tạo (AI) giúp phân tích ngơn ngữ tự nhiên để hiểu
được những gì người dùng đưa vào [4]. Đây chính là dịch vụ cốt lõi để xây dựng
trợ lý ảo thông minh của ứng dụng học tiếng Anh. Dialogflow đưa ra rất nhiều khái
niệm phục vụ cho việc xây dựng một trợ lý ảo thông minh (Chatbot)
Agent
Agent trong Dialogflow được mô tả là một thành phần NLU (Natural Language
Understanding – thành phần hiểu ngơn ngữ tự nhiên). Agent có nhiệm vụ nhận
lệnh dữ liệu từ người dùng nhữ văn bản, âm thanh phân tích, xác định ý định người
dùng và chuyển thành những dữ liệu có thể xử lý bằng lập trình. Luồng xử lý dữ
liệu của Agent như sau
-

Người dùng nhập dữ liệu đầu vào là văn bản hoặc âm thanh
Agent phân tích dữ liệu đầu vào đó mục đích để biết được ý định của người
dùng

-

Agent phản hồi cho người dùng từ những dữ liệu phân tích được

20


Hình 2: cách hoạt động của Agent
Intent
Trong hình trên ta thấy để xác định những điều người dùng muốn nói Agent

ánh xạ đầu vào của người dùng đến các Intent. Ví dụ, Intent “màu sắc” dung để
nhận biết và phản hồi những đầu vào của người dùng liên quan đến màu sắc u
thích của người dùng. Khi người dùng nói câu “Tơi thích màu xanh” Agent sẽ ánh
xạ câu nói của người dùng với Intent “màu sắc”. Khi đã biết được ý định của người
dùng trong câu nói, có thể dung các kỹ thuật lập trình để xử lý và phản hồi người
dùng
Entity
Các Entity chính là cơ chế của Dialogflow để xác định và trích xuất dữ liệu từ
đầu vào là ngôn ngữ tự nhiên. Ta thấy Intent cho phép Agent hiểu được ý định của
người dùng nhưng những thông tin cụ thể thể mà người dùng đề cập trong câu nói
thì sẽ cần một Entity để xử lý. Ví dụ trong câu nói “Tơi thích màu xanh” ở trên,
mặc dù Agnent đã biết được người dùng đang nói đến màu sắc u thích của mình
dựa vào Intent “màu sắc”, tuy nhiên chưa thể xác định chính xác màu sắc u thích
của người dùng là màu gì và khi này cần đến Entity là “màu sắc yêu thích” để ánh
xạ đến màu sắc cụ thể trong ví dụ này là “màu xanh”.
Trên đây là cách thức hoạt động cơ bản của Dialogflow, dựa vào sự hỗ trợ của
Dialogflow với Agent, Intent, Entity lập trình viên có thể xử lý được dữ liệu người
dùng đưa vào ngôn ngữ tự nhiên và từ đó xây dựng được những trợ lý ảo thơng
minh có thể hiểu và tương tác được với người dùng.

21


Google App Engine (GAE)
“Google App Engine (GAE) là một môi trường phát triển ứng dụng dựa trên
cơng nghệ điện tốn đám mây. Ở đó Google cung cấp một hệ thống gồm: ngơn
ngữ lập trình, hệ cơ sở dữ liệu, các thư viện lập trình, người lập trình sẽ viết ứng
dụng và ứng dụng này sẽ chạy trên các máy chủ của Google” [5]. Lập trình viên
lúc này chỉ phải viết ứng dụng và tập trung vào xây dựng các tính năng, trải nghiệm
người dùng và triển khai trên GAE mà không phải bận tâm đến việc xây dựng và

quản lý cơ sở hạ tầng.
Ưu điểm của GAE
GAE hỗ trợ rất nhiều ngơn ngữ lập trình phổ biến như Java, Python, PHP, C#
.Net, Ruby, Go và Nodejs. Người lập trình triển khai ứng dụng rất nhanh chóng
mà khơng phải q bận tâm đến cấu hình trong GAE.
Người lập trình chỉ cần tập trung cho lập trình mà khơng phải bận tâm đến cơ
sở hạ tầng. Mở rộng ứng dụng theo nhu cầu gần như khơng có giới hạn. Mọi vấn
đề về hạ tầng đều được đội ngũ Google hỗ trợ. Ngoài ra vấn đề đáng quan tâm và
khó khăn như bảo mật cũng được hỗ trợ mạnh mẽ, các quy tắc nhận dạng và truy
cập (IAM) và các chứng chỉ SSL/TLS đã được tích hợp sẵn.
Chi phí triển khai sẽ rất hợp lý, người lập trình khi triển khai ứng dụng trên
GAE sẽ chỉ phải chi trả cho những tài nguyên mình sử dụng khi ứng dụng đang
chạy. Khơng phải đầu tư hạ tầng, không phải chi trả cho những tài ngun mình
khơng dung đến nên việc sử dụng GAE làm hạ tầng triển khai sẽ có ý nghĩa rất lớn
trong bài toán kinh tế.
2.3.2. Node.js
Các khái niệm liên quan:
Chrome và Javascript V8 Engine
Chrome là một trình duyệt miễn phí và nổi tiếng của Google được phát hành
vào tháng 12 năm 2008. Trong đó JavaScript V8 Engine là một chương trình được
viết bằng C++ được sử dụng trong Google Chrome để thực thi mã Javascript,
JavaScript V8 Engine có nhiệm vụ phân tích cú pháp và thơng dịch mã JavaScript
thành mã máy để thực thi.

22


Hình 4: Hoạt động của JavaScript V8 Engine

Hình Mơ hình thực thi mã JavaScript bằng JavaScript V8 Engine

Ngôn ngữ JavaScript ban đầu được sinh ra chỉ để chạy trên trình duyệt và
Node.js ra đời để tận dụng sức mạnh của JavaScript V8 Engine làm cho JavaScript
có thể chạy trên mơi trường máy chủ.
Như vậy Node.js là một môi trường cho phép thực thi ngôn ngữ JavaScript trên
nhiêu môi trường khác nhau, vượt qua giới hạn của trình duyệt web.
Đặc trưng cơ bản nhất của Node.js đó là “Bất đồng bộ” có nghĩa là thay việc
phải đợi mỗi hàm thực thi xong chương trình mới có thể tiếp tục thực thi như những
ngơn ngữ lập trình hướng kịch bản, trong Node.js các hàm sẽ chạy cho đến khi
hoàn thành một nhiệm vụ nào đó trong khi phần cịn lại của ứng dụng vẫn chạy
đồng thời.
Vì sao nên sử dụng nodejs
Node.js rất phù hợp với những ứng dụng yêu cầu cao về tốc độ, các dịch vụ
đám mây, các ứng dụng yêu cầu thời gian thực và những ứng dụng có số lượng
request đồng thời lớn. Với ưu điểm có tốc độ thực thi cao và khả năng mở rộng rất
lớn, rất phù hợp với những sản phẩm đảm bảo được có thể mở rộng nhanh chóng,

23


đáp ứng được đồng thời một lượng lớn yêu cầu của người dùng khi ứng dụng phát
triển lên.
Lựa chọn Nodejs để phát triển học tiếng Anh thông minh yêu cầu cầu lớn về
tốc độ và khả năng mở rộng trong tương lai thì Node.js rất phù hợp
2.3.3. Reactjs
React.js là 1 thư viện JavaScript tạo ra bởi Facebook sinh ra để xây dựng giao
diện người dùng. Việc sử dụng một thư viện để xây dựng giao diện người dùng sẽ
giúp ta dễ dàng trong xử lý các thay đổi trong giao diện người dùng. Nó cho phép
lập trình viên tạo ra được giao diện nhanh chóng. Một số đặc trưng của Reactjs là
JSX, Componet, Props và State
2.4.


Đánh giá về công nghệ sử dụng

2.4.1. Đánh giá dịch vụ điện toán đám mây của Google
Trên thế giới hiện giờ có rất nhiều nhà cung cấp dịch vụ điện toán đám mây, thị
trường điện tốn đám mây đang rất được kì vọng sẽ phát triển mạnh mẽ hơn nữa.
Ngày càng có nhiều nhà cung cấp tham gia vào lĩnh vực này. Tuy nhiên những nhà
cung cấp dịch vụ lớn nhất hiện nay đó là Google, Amazon và Microsoft. Cùng so
sánh dịch vụ của Google và những nhà cung cấp dịch vụ tương đương để có cái
nhìn tồn diện nhất về dịch vụ của Google.
Chi phí vận hành và bảo trì
Bảng 1: So sánh chi phí vận hành và bảo trì của GCP, AWS, Azuze
Danh mục

Đơn vị thanh Chi phí tính
tốn
theo
giây
(Minimum
60s)

Tỉ

lệ

Ghi chú

Google Cloud Amazone
Microsoft
Platform

Web Services Azuze
(GCP)
(AWS)
(Azuze)
Linux:
Chi Tính
phí tính theo phút
từng giây

theo

Windows:
Tính
theo
từng phút

chiết Tuỳ thuộc vào Tuỳ thuộc vào Giảm 5% khi Ưu điểm của

24


khấu

thời gian sử phương thức thanh
dụng
một

toán Google




trong thanh toán và trước 12 tháng chức năng tự
tháng, thời gian trả

động giảm giá

mức
chiết trước tối đa
khấu tối đa là 75% (trả trước

theo
tháng

5
năm).
Không hồn
tiền khi ngưng

dụng.

30%

từng
sử

AWS có thể
giảm giá cao
hơn
nhưng
phải kí hợp


trước thời hạn

đồng dài hạn
Chi phí hoạt 39,29 USD

71,74 USD

71,54 USD

cấu hình máy

động trong 1

sử dụng:

tháng
(Singapore)

1 CPU
3.7 GB ram
(3.5GB
Azuze)

với

SSD 50GB
Hệ điều hành
Linux
Dùng

thử Với mỗi tài Miễn
phí Miễn phí 200
miễn phí
khoản
đợc dung thử 12 USD sử dụng
miễn phí 300 tháng với tính trong 30 ngày
USD trong 12 năng bị hạn
tháng
chế
Như vậy ta có thể thấy về mặt chi phí Azuze có chi phí sử dụng cao nhất. AWS
có chiết khấu lớn nhất lên đến 75% nhưng người dùng phải bắt buộc thanh toán
trước 5 năm để hưởng triết khấu. Google có mức chiết khấu trung bình nhưng có
lợi thế là linh động và khơng cần phải thanh tốn trước.
Cả ba nhà cung cấp đều yêu cầu thẻ thanh toán quốc tế để đăng kí dịch vụ tuy
nhiên Google có lợi thế rất lớn đó là cho phép người dùng sử dụng được một số
dịch vụ mà khơng cần phải thêm thẻ thanh tốn, tạo điều kiện cho người dùng tiếp
25


×