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

BÁO CÁO THỰC TẬP DOANH NGHIỆP TRỢ LÝ ẢO AI

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.43 MB, 31 trang )

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

KHOA KHOA HỌC MÁY TÍNH

BÁO CÁO
THỰC TẬP DOANH NGHIỆP

TRỢ LÝ ẢO AI

Sinh viên thực hiện

: Bùi Xuân Thiện

Lớp

: 18IT3

Giảng viên hướng dẫn : Th.S Hà Thị Minh Phương
Đơn vị thực tập

: Global Design IT Co., Ltd

Người hướng dẫn

: Ngô Thành Trung

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


PHIẾU NHẬN XÉT CỦA ĐƠN VỊ THỰC TẬP




<Tên đề tài>

LỜI CẢM ƠN

Khoa ……………….. – Lớp……………

<Họ tên sinh viên>


<Tên đề tài>

MỤC LỤC

Khoa Khoa Học Máy Tính – Lớp 18IT3

Bùi Xuân Thiện


<Tên đề tài>

PHẦN MỞ ĐẦU
Là một sinh viên năm 3 của Khoa Khoa Học Máy Tính – Trường Đại Học Công Nghệ
Thông Tin và Truyền Thông Việt – Hàn. Em nhận thưc rõ tầm quan trong cũng như sự
cần thiết của thực tập doanh nghiệp.
Trong quá trình học tại trường, em đã được đào tạo về những kiến thức cơ bản và
chuyên sâu về công nghệ thông tin cụ thể là lập trình. Sau khi nhận thấy Cơng ty
Global Design IT Co., Ltd là một cơng ty lớn, có uy tín về lĩnh vực cơng nghệ thơng
tin trong và ngồi nước, là một nơi có mơi trường tốt để em thực tập tích lũy kinh

nghiệm cho bản thân do đó em quyết định chọn công ty làm nơi thực tập. Cho em rèn
luyện các kỹ năng và củng cố kiến thức của mình. Thực tập chính là cơ hội tốt cho em
rèn luyện kỹ năng cũng như vận dụng các kiến thức đã học được trong thời gian học
tập tại tường đại học. Bên cạnh đó, thực tập là khoảng thời gian quý báu để chúng em
tiếp cận và làm quen với môi trường làm việc chuyên nghiệp tại các công ty cũng như
năm bắt các kỹ năng cần thiết mà chúng em phải có để có được sự chuyên nghiệp
trong suy nghĩ cũng như hành động để chuẩn bị cho mỗi các nhận một hành trang
vững chắc bước vào cuộc sống đầy thử thách sau khi rời ghế nhà trường. Hơn nữa thực
tập còn là cơ hội tốt để cá nhận em khám phá ra được những lợi thế của mình, từ đó
định hướng chính xác hơn cho sự nghiệp sau này, khai thác tốt hơn năng lực của bản
thân.
Trong thời gian thực tập em đã nhận được sự giúp đỡ tận tình của các anh chị trong
team tại công ty Global Design IT Co., Ltd và sự hướng dẫn của anh Bống Hịa Trung
để em có thể hồn thành quá trình thực tập và báo cáo thực tập này.
Em xin chân thành cảm ơn!

Khoa Khoa Học Máy Tính – Lớp 18IT3

Bùi Xuân Thiện


<Tên đề tài>

CHƯƠNG I: GIỚI THIỆU VỀ GLOBAL DESIGN IT Co., Ltd.
1 CƠ QUAN THỰC TẬP
Tên Công ty: Global Design IT.
Tên Tiếng việt: Công ty TNHH MTV CNTT Thiết Kế Tồn Cầu.
Địa chỉ: Khu A, tầng 17, tịa nhà Cơng viên phần mềm, 02 Quang Trung, Phường
Thạch Thang, Quận Hải Châu, Thành Phố Đà Nẵng, Việt Nam.
Điện thoại: 0236.3868778.


2 GIỚI THIỆU CHUNG
Công ty mẹ: Global Design
Công ty Global Design tại Nhật Bản được thành lập vào ngày 20 tháng 01 năm
1997. Cơng ty Global Design hiện có trụ sở chính tại Shizuoka Nhật Bản và các
văn phòng đại diện tại Tokyo, Yamanashi. Từ năm 2016, Công ty đã đầu tư và
thành lập Công ty Global Design IT tại TP. Đà Nẵng.
Thế mạnh nổi bật của Công ty Global Design là sản phẩm CMS (Hệ thống quản lý
nội dung) và thiết kế website thông tin, tin tức phục vụ cho các cơ quan, đồn thể
Nhà nước tại Nhật Bản.
Thơng tin liên hệ: GLOBAL DESIGN INC.
Địa chỉ: tầng 16, tòa nhà AOI, Shizuoka, Nhật Bản.
Website: />Công ty tại Việt Nam:
Công ty Global Design IT (GDIT) là Công ty 100% vốn đầu tư Nhật Bản, được
thành lập vào ngày 16 tháng 03 năm 2016. Công ty Global Design IT là Công ty
thành viên của Global Design Inc. (Nhật Bản).

Khoa Khoa Học Máy Tính – Lớp 18IT3

Bùi Xuân Thiện


<Tên đề tài>

3 MỤC TIÊU HOẠT ĐỘNG
Thế mạnh của công ty Global Design IT chính là đội ngũ Kỹ sư cầu nối (BrSE) có
năng lực chun mơn cao với nhiều kinh nghiệm làm việc tại Nhật Bản.
Các kỹ sư này sẽ hỗ trợ từ giai đoạn phân tích yêu cầu, viết tài liệu thiết kế để việc
phát triển diễn ra thuận lợi.
3 Thế mạnh của Global Design IT:

 Kinh nghiệm phát triển phong phú: Trong phát triển dành cho doạnh nghiệp
Nhật Bản, chất lượng sản phẩm cũng sẽ thay đổi tùy thuộc vào mức độ dày
dặn kinh nghiệm phát triển.
Global Design IT có năng lực phân tích, diễn đạt cũng như đã đạt nhiều
thành tích về phát triển và coding tại thị trường nội địa Nhật Bản.
 Các đề án giảm thiểu chi phí: đưa ra các đề án với cấu trúc chi phí thấp để
phù hợp với từng nhu cầu của khách hàng.
Không chỉ Offshore ở Đà Nẵng mà cả phát triển onsite tại thị trường Nhật
Bản chúng tôi cũng sẽ cung cấp các đề án đáp ứng theo yêu cầu của quý
khách hàng.
 Đối ứng ở cả quy mơ nhỏ: Global Design IT có thể thực hiện đối ứng linh
hoạt từ những dự án có quy mơ từ 3-5 người. Dĩ nhiên những dự án quy mô
100man/month vẫn đảm bảo thực hiện đối ứng.
4 LĨNH VỰC HOẠT ĐỘNG
Lĩnh vực hoạt động của Công ty GDIT:
 Thiết kế, phát triển Website, Web app, phát triển mơ hình Labor Offshore.
 Xây dựng, phát triển phần mềm quản lý nội dung website (CMS), phần mềm
quản lý doanh nghiệp (GMS).
 Dịch vụ tư vấn giải pháp phần mềm theo nhu cầu sản xuất, kinh của Khách
hàng.

Khoa Khoa Học Máy Tính – Lớp 18IT3

Bùi Xuân Thiện


<Tên đề tài>

5 CÁC SẢN PHẨM/PHƯƠNG ÁN/GIẢI PHÁP
Dưới đây là các sản phẩm về App, Website, Service do GlobalDesignIT đã phát

triển và tạo ra.
 Ban xúc tiến và Hỗ trợ Đầu tư Đà Nẵng
IPA-Đà Nẵng (Ban Xúc tiến và Hỗ trợ Đầu tư Đà Nẵng) được Ủy ban nhân
dân thành phố Đà Nẵng thành lập vào năm 2000, nhằm mục đích xúc tiến
đầu tư nước ngồi vào thành phố Đà Nẵng-Việt Nam. Với tư cách là kênh
liên lạc-giao dịch duy nhất của các cơ quan hành chính của thành phố Đà
Nẵng, IPA-Đà Nẵng hỗ trợ hoạt động đầu tư của các nhà đầu tư và các
doanh nghiệp ở mọi giai đoạn.

 GDIT Management System (G.M.S)
G.M.S GIẢI PHÁP DÀNH CHO CÁC DOANH NGHIỆP
G.M.S (GDIT Management System) được phát triển bởi đội ngũ kỹ sư của
Công ty GDIT, đây là một Web app như là công cụ mang lại những giải
pháp hữu ích với các tính năng vượt trội, là một giải pháp hữu hiệu trong
công tác quản lý doanh nghiệp.
G.M.S đang được sử dụng tại Công ty GDIT đã mang hiệu quả tích cực, tiết
kiệm được nhiều thời gian cho các bộ phận. Trong năm nay, GDIT sẽ tiến
hành triển khai dịch vụ này cho các khách hàng.

Khoa Khoa Học Máy Tính – Lớp 18IT3

Bùi Xuân Thiện


<Tên đề tài>

 Ứng dụng du lịch dành cho khách nước ngồi
Với ứng dụng này bạn có thể tìm kiếm nhiều thông tin bằng nhiều cách
khách nhau như xác nhận thơng theo phân chia khu vực hay dùng Map để
tìm kiếm thơng tin, do vậy rất dễ dàng để tìm kiếm thông tin theo mong

muốn của bạn.

 Ứng dụng du lịch Global Design IT
Với việc cài đặt ứng dụng này trên thiết bị di động của mình, bạn có thể dễ
dàng tìm thấy tất cả thơng tin về các qn cà phê phong cách hay các địa
điểm tham quan tiêu biểu ở Đà Nẵng mọi lúc mọi nơi. Bạn cũng có thể tạo
lịch trình du lịch của riêng mình hoặc chia sẻ kế hoạch du lịch có các địa
điểm đề xuất đã được tổng hợp. Kế hoạch du lịch của bạn cũng có thể được
giới thiệu cho nhiều người dung khác trên ứng dụng.

Khoa Khoa Học Máy Tính – Lớp 18IT3

Bùi Xuân Thiện


<Tên đề tài>

CHƯƠNG II: NHỮNG VẤN ĐỀ TỒN ĐỌNG
Trong quá trình đi thực tập doanh nghiệp tại cơng ty Global Design IT, được sự
hướng dẫn của một lập trình viên đã có nhiều năm kinh nghiệm về phần mềm. Em đã
tiếp thu được nhiều kiến thức quan trọng trong quá trình thực tập tại cơng ty. Được sự
tư vấn, hướng dẫn và chuẩn bị kỹ càng, người hướng dẫn đã đưa ra nhiều vấn đề công
nghệ hiện đang bị vướng mắc tại thị trường Việt Nam. Khiến cho sản phẩm công nghệ
này bị lạc hậu tại Việt Nam và chưa có bước tiến triển lớn trong khâu đột phá. Đó là sử
dụng Trợ lý ảo để áp dụng cho hầu hết các máy tính, điện thoại để tăng sự nhanh
chóng cho người dùng.
1. Vấn đề khi đặt ra mục tiêu
Sự bùng nổ của cách mạng 4.0 cùng với các vấn đề liên quan như Trí Tuệ Nhân
Tạo, Điện Tốn Đám Mây, Internet Vạn Vật và BigData. Hiện nay Trí Tuệ Nhân Tạo
đang là một xu hướng có tiềm năng trong lĩnh vực công nghệ thông tin và là yếu tố

then chốt với vơ số ứng dụng trong mọi khía cạnh của cuộc sống như Smart Home, xe
tự hành, hệ thống nhận dạng.
Trợ lý ảo là một tác tử phần mềm có khả năng thực hiện các tác vụ hoặc dịch vụ
cho cá nhân người sử dụng. Cịn có tên gọi khác là “ChatBot” để chỉ các trợ lý ảo được
truy cập phần mềm chat online.
Ngày nay, sự xuất hiện các “trợ lý ảo” của smartphone như Apple Siri, Microsoft
Cortana và Google now đã được nhiều biết đến, tuy nhiên rất ít người dùng Việt Nam
sử dụng những “trợ lý ảo” này do chúng không tối ưu cho người Việt và chưa phân
tích và nhận diện được ý định của người dùng trong câu lệnh nói tiếng Việt.
Điều gì làm cho trợ lý ảo chưa thực sự nổi trội tại Việt Nam?
Thứ nhất, Siri, Cortana hay Google Now chưa thực sự hiểu ngơn ngữ Việt. Phân tích
và hiểu ngơn ngữ tự nhiên từ lâu đã là hướng nghiên cứu khó khăn và đầy thử thách
bởi sự đa dạng, phong phú trong cách con người diễn đạt vấn đề cũng như sự nhập
nhằng về mặt câu từ. Đây là khó khăn chung cho mọi ngôn ngữ và đối với tiếng Việt,
việc xử lý cịn khó khăn hơn nhiều do chúng ta đi sau và còn thiếu nhiều tài nguyên
quan trọng. Điều quan trọng nhất là đưa ra các giải pháp gọn nhẹ nhưng hiệu quả để
vượt qua những khó khăn trên.
Thứ hai, Siri, Cortana, … chưa tối ưu về mặt thông tin và tính địa phương hóa cho
người Việt. Rất nhiều tính năng, thông tin người dùng Việt cần nhưng chưa và khơng
được hỗ trợ trên các trợ lý ảo.
Vì thế trong báo cáo thực tập này, em sẽ phát triển sản phẩm này với mong muốn
đưa ra kết quả mang lại sự tiện lợi trong công việc và trải nghiệm cho người dùng.

Khoa Khoa Học Máy Tính – Lớp 18IT3

Bùi Xuân Thiện


<Tên đề tài>


CHƯƠNG III: ĐỀ XUẤT GIẢI PHÁP CÔNG VIỆC
<Đề xuất những giải pháp/phương án/sản phẩm hợp lý nhằm cải thiện hiện trạng; nội
dung đề xuất không chung chung, phải nêu cụ thể và phù hợp với tình hình thực tế>
1. Giải pháp
Giải pháp đưa ra hiện tại là tạo ra một phần mềm hệ thống có khả năng nhận diện
giọng nói, các văn bản (chat online), các tin nhắn nhanh được đưa vào từ phía người
dùng và được xử lý sau đó sẽ gửi về cho người dùng câu trả lời từ những lệnh thực thi
sẵn. Trợ lý ảo sử dụng dụng công nghệ xử lý ngôn ngữ tự nhiên để chuyển các văn bản
và giọng nói của người dùng thành các câu lệnh thực thi có sẵn. Nâng cao hơn cịn có
cả năng tiếp tục học thêm nhiều câu lệnh khác bằng cơng nghệ trí tuệ nhân tạo, trong
đó có phương pháp học máy.
Các trợ lý ảo này có thể cung cấp rất nhiều các dịch vụ, trong báo cáo này em thiết
lập Trợ lý ảo có khả năng 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 thay cho bạn
 Gửi email đến những người trong danh bạ của bạn
 Cho bạn biết thời tết và nhiệt độ hiện tại của hầu hết mọi thành phố
 Phát cho bạn một bài hát trên Youtube
 Nhận dạng danh tính của người dùng
 Cho bạn biết tin tức mới nhất
 Nói cho bạn về hấu hết mọi thứ bạn yêu cầu

Khoa Khoa Học Máy Tính – Lớp 18IT3

Bùi Xuân Thiện



<Tên đề tài>

2. Đề xuất các phương pháp xây dựng
AI - Artificial Intelligence hay cịn gọi là Trí tuệ nhân tạo là một ngành khoa học,
kỹ thuật chế tạo máy móc thơng minh, đặc biệt là các chương trình máy tính thơng
minh. AI được thực hiện bằng cách nghiên cứu cách suy nghĩ của con người, cách
con người học hỏi, quyết định và làm việc trong khi giải quyết một vấn đề nào đó,
và sử dụng những kết quả nghiên cứu này như một nền tảng để phát triển các phần
mềm và hệ thống thơng minh, từ đó áp dụng vào các mục đích khác nhau trong
cuộc sống. Nói một cách dễ hiểu thì AI là việc sử dụng, phân tích các dữ liệu đầu
vào nhằm đưa ra sự dự đốn rồi đi đến quyết định cuối cùng.
Xử lý ngơn ngữ tự nhiên (natural language processing - NLP) là một nhánh của trí
tuệ nhân tạo tập trung vào các ứng dụng trên ngơn ngữ của con người. Trong trí tuệ
nhân tạo thì xử lý ngơn ngữ tự nhiên là một trong những phần khó nhất vì nó liên
quan đến việc phải hiểu ý nghĩa ngơn ngữ-cơng cụ hồn hảo nhất của tư duy và
giao tiếp.
2.1 Ngơn ngữ lập trình Python
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 hồn tồn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tự động; do vậy
nó tương tự như Perl, Ruby, Scheme, Smalltalk, và Tcl. Python được phát triển
trong một dự án mã mở, do tổ chức phi lợi nhuận Python Software Foundation
quản lý.
Ban đầu, Python được phát triển để chạy trên nền Unix. Nhưng rồi theo thời
gian, Python dần mở rộng sang mọi hệ điều hành từ MS-DOS đến Mac OS, OS/2,
Windows, Linux và các hệ điều hành khác thuộc họ Unix. Mặc dù sự phát triển của
Python có sự đóng góp của rất nhiều cá nhân, nhưng Guido van Rossum hiện nay

vẫn là tác giả chủ yếu của Python. Ơng giữ vai trị chủ chốt trong việc quyết định
hướng phát triển của Python.

Khoa Khoa Học Máy Tính – Lớp 18IT3

Bùi Xuân Thiện


<Tên đề tài>

2.2 Machine Learning
Học máy (tiếng Anh: machine learning) là một lĩnh vực của trí tuệ nhân tạo liên
quan đến việc nghiên cứu và xây dựng các kĩ thuật cho phép các hệ thống "học" tự
động từ dữ liệu để giải quyết những vấn đề cụ thể. Ví dụ như các máy có thể "học"
cách phân loại thư điện tử xem có phải thư rác (spam) hay khơng và tự động xếp
thư vào thư mục tương ứng. Học máy rất gần với suy diễn thống kê (statistical
inference) tuy có khác nhau về thuật ngữ.
Học máy có liên quan lớn đến thống kê, vì cả hai lĩnh vực đều nghiên cứu việc
phân tích dữ liệu, nhưng khác với thống kê, học máy tập trung vào sự phức tạp của
các giải thuật trong việc thực thi tính tốn. Nhiều bài tốn suy luận được xếp vào
loại bài tốn NP-khó, vì thế một phần của học máy là nghiên cứu sự phát triển các
giải thuật suy luận xấp xỉ mà có thể xử lý được.
Học máy có hiện nay được áp dụng rộng rãi bao gồm máy truy tìm dữ liệu,
chẩn đốn y khoa, phát hiện thẻ tín dụng giả, phân tích thị trường chứng khoán,
phân loại các chuỗi DNA, nhận dạng tiếng nói và chữ viết, dịch tự động, chơi trị
chơi và cử động rô-bốt (robot locomotion).

2.3 Thư viện OpenCV
OpenCv (Open Source Computer Vision) là một thư viện mã nguồn mở về thị
giác máy với hơn 500 hàm và hơn 2500 các thuật toán đã được tối ưu về XLA, và

các vấn đề liên quan tới thị giác máy. OpenCv được thiết kế một cách tối ưu, sử
dụng tối đa mạnh của các dòng chip đa lõi… để thực hiện các phép tính tốn trong
thời gian thực, nghĩa là tốc độ đáp ứng của nó thể đủ nhanh cho các ứng dụng
thông thường.
OpenCv là thư viện được thiết kế để chạy trên nhiều nền tảng khác nhau
(cross-platform), nghĩa là nó có thể chạy trên hệ điều hành Window, Linux, Mac,
iOS… Việc sử dụng thư viện OpenCv tuân theo các quy định về sử dụng phần
mềm mã nguồn mở BSD do đó bạn có thể sử dụng thư viện này một cách miễn phí
cho các mục đích phi thương mại lẫn thương mại.
Dự án về OpenCv được khởi động từ những năm 1999, đến năm 2000 nó
được giới thiệu trong một hội nghị của IEEE về các vấn đề trong thị giác máy và
Khoa Khoa Học Máy Tính – Lớp 18IT3

Bùi Xuân Thiện


<Tên đề tài>

nhận dạng, tuy nhiên bản OpenCV 1.0 mãi tới tận năm 2006 mới chính thức được
cơng bố và năm 2008 bản 1.1 (prerelease) mới được ra đời. Tháng 10 năm 2009,
bản OpenCV thế hệ thứ hai ra đời (thường gọi là phiên bản 2.x), phiên bản này có
giao diện của C++ (khác với phiên bản trước có giao diện của C) và có nhiều điểm
khác biệt so với phiên bản thứ nhất.
Thư viện OpenCV ban đầu được sự hỗ trợ từ Intel, sau đó được hỗ trợ bởi
Willow Garage, một phịng thí nghiệm chun nghiên cứu về cơng nghệ robot. Cho
đến nay, OpenCV vẫn là thư viện mở, được phát triển bởi nguồn quỹ không lợi
nhuận (none-profit foundation) và được sự hưởng ứng rất lớn của cộng đồng.

3 Thực hiện sản phẩm
Xây dựng một con trợ lý với tất cả các chức năng là điều khó khăn cho em trong lúc

phát triển ban đầu. Được sự hướng dẫn của Cơng ty, xây dựng những chức năng mang
tính cần thiết nhất cho một trợ lý nên có.
3.1 Chức năng chuyển văn bản thành âm thanh
Đây là một chức năng vơ cùng hữu ích trong việc xây dựng. Là chuyển một
đoạn văn bản thành âm thanh và đọc nó lên trên máy tính. Được tích hợp khá phổ
biến trong các thiết bị điện tử, thiết bị di động và ngày càng được cải tiển để hỗ trợ
người dùng. Ngoài ra các công ty công nghệ cũng đang tập trung phát triển những
phần mềm chuyển đổi giọng nói thành văn bản với những tính năng ưu việt hơn
nhằm đáp ứng nhu cầu ngày càng cao của người sử dụng.
Ưu điểm và lợi ích của cơng nghệ Text to Speech:
Nâng cao khả năng tiếp cận: Công nghệ chuyển đổi văn bản thành giọng nói
cung cấp quyền truy cập cho những người khơng thể đọc do khiếm khuyết hoặc mù
chữ bằng cách cung cấp một cách thức khác để họ có thể tiếp cận được thông tin.
Học tập nâng cao: Bằng cách cho phép cả hình ảnh và âm thanh cùng xuất hiện,
cơng nghệ chuyển đổi văn bản thành giọng nói có thể giúp cải thiện khả năng hiểu,
ghi nhớ, kỹ năng từ vựng, tạo ra động lực và sự tự tin. Công nghệ này đang được
Khoa Khoa Học Máy Tính – Lớp 18IT3

Bùi Xuân Thiện


<Tên đề tài>

áp dụng cho các tài liệu trực tuyến để tạo điều kiện cho việc học trực tuyến trở nên
dễ dàng hơn.
Đi động và Tự do: Chuyển đổi văn bản thành giọng nói có thể biến bất kỳ nội
dung kỹ thuật số nào thành các trải nghiệm đa phương tiện, vì vậy người dùng có
thể nghe tin tức, bài viết trên blog hoặc thậm chí là một tài liệu PDF dài khi đang di
chuyển hoặc trong khi đang làm các việc khác mà không cần quá chú tâm vào màn
hình.

Nhanh chóng và Phải chăng: Cơng nghệ điện tốn đám mây đã giúp người đầu
bắt đầu nhanh chóng và dễ dàng làm quen với việc chuyển văn bản thành giọng
nói, và tính kinh tế của điện tốn đám mây cũng có nghĩa rằng cơng nghệ chuyển
đổi văn bản này cũng sẽ được sử dụng với giá cả phải chăng.

Giao diện SpeechSynthesis là API web theo tập lệnh để kiểm soát đầu ra
chuyển văn bản thành giọng nói. Với các tính chất được kế thừa từ giao diện.
 SpeechSynthesisUtterance.rate: Nhận và đặt tốc độ mà lời nói sẽ nói ra
 SpeechSynthesisUtterance.lang: Nhận và thiết lập ngơn của lời nói
 SpeechSynthesisUtterance.text: Nhận và đặt văn bản sẽ được tổng hợp
khi phát biểu được đọc
 SpeechSynthesis.speak: Nhận và đọc văn bản được đưa vào ra màn
hình chính của trợ lý ảo

Khoa Khoa Học Máy Tính – Lớp 18IT3

Bùi Xuân Thiện


<Tên đề tài>

3.2 Chức năng chuyển âm thanh thành văn bản
Chức năng này có chức năng ngược lại với chức năng ở trên đã giới thiệu là
chuyển âm thanh thành văn bản. Chức năng này là dịch vụ phiên âm đoạn thơng tin
từ bản ghi âm giọng nói sang mơt đoạn văn bản. Tiếng Việt được coi là một ngôn
ngữ khó học với người nước ngồi bởi ngữ pháp, thanh điệu và đặc trưng vùng
miền. Máy tính cũng giống như người nước ngồi - để nó nghe hiểu và diễn giải
được giọng nói tiếng Việt thành dạng văn bản khơng phải là việc dễ dàng.
Những lợi ích khi sử dụng chức năng chuyển âm thanh thành văn bản:
 Người dùng không cần phải ghi lại các thông tin trong công việc và được

chuyển đổi tức thì thành văn bản ngay lúc đọc.
 Rút ngắn được 10 lần thời gian ghi thơng tin nhờ khả năng chuyển đổi giọng
nói thành văn bản chỉ mất thời gian ngắn,
 Giảm rủi ro sai lệch thông tin nhờ chất lượng thông tin được đồng nhất với
người sử dụng
 Hỗ trợ đa ngôn ngữ phù hợp cho người dùng địa phương và người nước
ngoài.

SpeechRecognition giao diện của API Web Speech là giao diện điều khiển cho
dịch vụ nhận dạng và cũng xử lý cho SpeechRecognitionEvent được gửi từ dịch vụ
nhận dạng
SpeechRecognition.SpeechRecognition(): Bắt đầu tạo ra một SpeechRecognition
đối tượng mới.
 SpeechRecognition.lang: Trả về và đặt ngôn ngữ hiện tại
SpeechRecognition. Nếu không được chỉ định, điều này sẽ mặc đinh
thành .lang giá trị thuộc tính HTML hoặc cài đặt ngôn ngữ của người dùng
nếu ngôn ngữ không cài đặt thêm.

Khoa Khoa Học Máy Tính – Lớp 18IT3

Bùi Xuân Thiện


<Tên đề tài>

 SpeechRecognition.continuous: Kiểm soát xem kết quả liên tục được trả về
cho mỗi lần nhận dạng hay chỉ một kết quả duy nhất. Mặc định là đơn
(false.)
 SpeechRecognition.serviceURI: Chỉ định vị trí của dịch vụ nhận dạng giọng
nói được hiện tại sử dụng SpeechRecognitionđể xử lý nhận dạng thực tế.

Mặc định là dịch vụ giọng nói mặc định của tác nhân người dùng.
Các phương pháp sử dụng trong Speech to Text:
 SpeechRecognition.abort(): Dừng dịch vụ nhận dạng giọng nói nghe âm
thanh và khơng tìm cách trả lại SpeechRecognitionResult
 SpeechRecognition.start(): Bắt đầu dịch vụ nhận dạng giọng nói nghe âm
thanh đến với mục đích nhận dạng ngữ pháp liên quan đến hiện tại
SpeechRecognition.
 SpeechRecognition.stop(): Dừng dịch vụ nhận dạng giọng nói nghe âm
thanh đến và cố gắng trả lại SpeechRecognitionResultbằng âm thanh đã thu
được cho đến nay.
Nghe các sự kiện bằng cách sử dụng addEventListener() hoặc bằng cách chỉ
định một trình nghe sự kiện cho thuộc tính của giao diện. audiostart được kích
hoạt khi người dùng bắt đầu thu âm thanh, audioend được kích hoạt khi người
dùng đã hịa tất thu âm thanh và cuối cùng là end kích hoạt khi dịch vụ nhận dạng
giọng nói đã ngắt kết nối.
Trong đó các sự kiện soundstart được kích hoạt khi phát hiện bất kỳ âm thanh
– giọng nói có thể nhận dạng hoặc không – đa được phát hiện. soundend được kích
hoạt khi âm thanh được dịch vụ nhận dạng giọng nói nhận dạng là giọng nói đã
được phát hiện. speechstart kích hoạt khi âm thanh được dịch vụ nhận dạng giọng
nói là giọng nói đã phát hiện. speechend kích hoạt khi giọng nói được dịch vụ
nhận dạng giọng nói khơng phát hiện được

Khoa Khoa Học Máy Tính – Lớp 18IT3

Bùi Xuân Thiện


<Tên đề tài>

3.3 Chức năng giao tiếp, chào hỏi

Nội dung của chức năng này là để giao tiếp thông thường giữa người và máy
tính. Đơn giản như: chào hỏi, hỏi thăm tình hình sức khỏe hay nói về thơng tin trợ
lý ảo. Sử dụng thời gian của máy tính để có thể xác định buổi sáng, buổi trưa, buổi
chiều và buổi tối. Chức năng được sử dụng kết hợp với học máy, đưa ra câu trả lời
chính xác nhất cho người dùng khi người dùng đưa vào đoạn câu hỏi. Bộ cơ sở dữ
liệu câu hỏi và câu trả lời được tạo ra từ trước với các câu hỏi dự đốn sẵn. Độ
chính sác phụ thuộc vào khả năng so sánh tỷ lệ các từ, ký tự trong câu hỏi của
người dùng.
Mặc định khi vừa kích hoạt trợ lý ảo, người dùng sẽ nhận được một câu hỏi từ
trợ lý ảo để chào hỏi người dùng và bắt đầu sử dụng hệ thống. Nếu người dùng
trong một thời gian không có bất kỳ tác động tới trợ lý ảo sẽ tự động ngắt.

3.4 Chức năng hiển thị thời gian
Nội dung của chức năng này là để hiển thị thời gian thực tế của quốc gia người
dùng đang đứng. Thông tin thời gian địa điểm hiện tại trong ngày được lưu lại và
xử lý, trợ lý ảo sẽ gửi về phía người dùng. Người dùng muốn thực hiện xem thời
gian bằng cách nhập vào đoạn văn bản “Hôm nay là ngày gì” hay “Bây giờ là máy
giờ”.
Bằng cách sử dụng thư datetime để lưu thông tin thời gian tại địa điểm hiện tại
trong ngày. Với địa điểm có thể tùy chỉnh phù hợp với người dùng. Với định dạng
của thời gian là giờ, phút, giây sau đó được trả về trợ lý ảo để gửi về cho người
dùng.

Khoa Khoa Học Máy Tính – Lớp 18IT3

Bùi Xuân Thiện


<Tên đề tài>


3.5 Chức năng mở ứng dụng hệ thống, Google và tìm kiếm từ khóa
Đây là một chức năng khá đặc biệt trong trợ lý ảo. Chức năng chính là sẽ mở
một ứng dụng được cài đặt sẵn trong máy tính hay điện thoại. Ví dụ như: mở phần
mềm Microsoft Word hay Microsoft Excel, … hoặc các phần mềm chuyên dụng
của đồ họa như Adobe PhotoShop, Adobe Premiere hoặc Adobe After Effect và
còn nhiều phần mềm khác.
Bằng cách sử dụng các thư viện có sẵn của Python để truy cập phần mềm tại
máy tính. Truy cập các file .exe của phần mềm. Trợ lý ảo có thể mở lên bằng lệnh
gọi của người dùng như “Mở Google Chorme”, “Microsoft Word”. Tìm kiếm từ
khóa được sử dụng khi người dùng muốn tìm kiếm câu hỏi nào đó. Câu hỏi sẽ đưa
từ khóa lên Google và đưa câu trả lời đúng nhất cho người dùng.

Khi xuất hiện các từ khóa đặc biệt như google, word, photoshop hay media
trong câu hỏi của người dùng, trợ lý ảo sử dụng hàm os.startfile() để mở các file
ứng dụng của hệ hệ thống. Để tăng độ chính xác cho việc mở ứng dụng, trợ lý ảo sẽ
tìm thêm từ khóa phía trước như “mở”, “kích hoạt” để không nhầm lẫn với các
chức năng khác.

Khoa Khoa Học Máy Tính – Lớp 18IT3

Bùi Xuân Thiện


<Tên đề tài>

Với chức năng mở website bất kỳ, sử dụng hàm re.search để tách phần domain
trong đoạn hỏi của người dùng trong text và ghép với phần tiền tố https://www. Để
tạo thành đường dẫn đến trang web. Sử dụng webbroser.open(url) để mở trang web
người dùng yêu cầu.


Với chức năng tìm kiếm từ khóa trên Google. Thực hiện việc tách từ khóa phía
sau chữ “tìm kiếm” trong đoạn text của người dùng gửi vào. Gọi hàm
webdriver.Chorme(path) để mở dụng Google Chrome và vào trang chủ
google.com. Thực hiện sử dụng hàm driver.find_element_by_path() để lấy thẻ giá
trị và lưu giá trị. Cuối cùng tìm kiếm từ khóa search_for và trả về kết quả trên
google search.

3.6 Chức năng xem dự báo thời tiết
Chức năng xem dự báo thời tiết bằng OpenWeatherMap. OpenWeatherMap là
một dịch vụ cung cấp dữ liệu thời tiết. Nó thuộc sở hữu của OpenWeather Ltd, có
trụ sở tại London, Vương quốc Anh. Nó cung cấp dữ liệu thời tiết hiện tại, dự báo
và dữ liệu lịch sử hơn 2 triệu khách hàng, bao gồm các cơng ty và doanh nghiệp
tồn cầu.
Truy cập trang website bằng đường dẫn: Openweathermap.org
Trợ lý ảo xử lý chức năng xem thời biết bằng các bước sau:
 Nhập từ khóa “thời tiết” để kích hoạt chức năng thời tiết
 Nhập vào địa điểm muốn xem tại bất cứ quốc gia nào trên thế giới
 Hệ thống sẽ kết nối API với trang web openweathermap.org. Truy cập và
lấy api_keys để có thể thao tác truy vấn
 Website sẽ trả kết quả về và trợ lý ảo sẽ truy vấn thông tin cần thiết và gửi
lại cho người dùng.
Khoa Khoa Học Máy Tính – Lớp 18IT3

Bùi Xuân Thiện


<Tên đề tài>

 Hệ thống dừng 20 giây để trợ lý ảo đọc hết thông tin thời tiết


Trợ lý ảo sẽ thực hiện bước đầu tiên là lưu đường dẫn đến api của trang web
openweathermap.org. Tiếp theo người dùng cần nhập vào địa điểm thông tin thành
phố cần truy vấn thời tiết. Nếu người dùng không nhập vào hoặc trợ lý ảo khơng
nghe được tên thành phố thì sẽ bỏ qua.
Sử dụng thư viện request.get(call_url) để lấy thông tin truy vấn được từ trang
web rồi lưu vào biến response. Response.json() sẽ chuyển dữ liệu thuần về kiểu dữ
liệu json.
Các giá trị được gửi về bao gồm các thông tin thời tiết như nhiệt độ, độ ẩm,
lượng mưa, thời gian mặt trời mọc, thời gian mặt trời mọc, … Cuối cùng là gửi trả
dữ liệu đọc được về cho người dùng.

Khoa Khoa Học Máy Tính – Lớp 18IT3

Bùi Xuân Thiện


<Tên đề tài>

3.7 Chức năng nghe nhạc trên Youtube
Chức năng nghe nhạc bằng Youtube là một trong những chức năng được u
thích nhất của trợ lý ảo. Thay vì truy cập Youtube và tìm kiếm bài hát người dùng
thích. Người dùng sẽ nhập vào trợ lý ảo và Trợ lý ảo sẽ hiển thị bài hát lên bảng
giao tiếp.

Việc lấy từ khóa bài hát tương tự với tìm kiếm. Thực hiện vòng lặp while để kết
nối được liên tục trong trường hợp internet yếu khơng tìm thấy. Đưa từ khóa vào
đường dẫn và lấy kết quả đầu tiên nhận được. Dùng hàm webbrowser.open(url) mở
đường dẫn url đến bài hát vừa tìm kiếm được trên youtube để phát nhạc.
3.8 Chức năng nhận dạng danh tính người dùng
Hệ thống nhận dạng khn mặt thời gian thực có khả năng xác định hoặc xác

minh một người từ máy ảnh video. Để nhận ra khuôn mặt trong một khung ảnh,
trước tiên bạn cần phải phát hiện xem có mặt người xuất hiện trong khung hình hay
khơng. Nếu có, hãy đánh dấu một vùng chứa khn mặt (ROI), trích xuất ROI và
xử lý nó để nhận ra khn mặt.

Khoa Khoa Học Máy Tính – Lớp 18IT3

Bùi Xuân Thiện


<Tên đề tài>

3.8.1

Tạo cơ sở dữ liệu thông tin người dùng

Để có thể tạo ra được tập dữ liệu của người dùng thì cần phải phát hiện được khn
mặt người dùng trong ảnh. Thuật toán được nêu trong này là thuật toán ViolaJones.
Thuật toán Viola-Jones lần đầu tiên được xuất bản vào năm 2001 bởi Paul Viola và
Michael Jones trong bài báo năm 2001 của họ, Rapid Object Detection using a
Boosted Cascade of Simple Features, bài báo này đã trở thành một trong những bài
báo được trích dẫn nhiều nhất trong tài liệu về computer vision. Trong bài báo này,
Viola và Jones đề xuất một thuật tốn có khả năng phát hiện các vật thể trong hình
ảnh, bất kể vị trí và tỷ lệ của chúng trong một hình ảnh. Hơn nữa, thuật tốn này có
thể chạy trong thời gian thực, giúp phát hiện các đối tượng trong video stream.
Cụ thể, Viola và Jones tập trung vào việc phát hiện khn mặt trong ảnh, nhưng
thuật tốn này cũng có thể được sử dụng để huấn luyện máy dị tìm các vật thể tùy
ý, như xe hơi, tòa nhà, dụng cụ nhà bếp và thậm chí là một trái chuối.
Mặc dù khung Viola-Jones chắc chắn đã mở ra cánh cửa để phát hiện đối tượng,
nhưng giờ đây nó đã vượt xa các phương pháp khác, chẳng hạn như sử dụng

Histogram of Oriented Gradients (HOG) + Linear SVM và Deep Learning. Nhưng
mình vẫn nghĩ rằng điều quan trọng là chúng ta rất quan tâm đến thuật tốn này và
ít nhất là có sự hiểu biết ở mức độ cao về những gì mà diễn ra bên dưới.
Để có thể phát hiện người trong ảnh, thuật tốn trượt một cửa số có kích thước cố
định trên hình ảnh của chúng ta ở nhiều tỷ lệ. Tại mỗi giai đoạn này, cửa sổ của
dừng lại, tính tốn một số tính năng và sau đó phân loại khu vực là có khn mặt
hay khơng.
Điều này cần đòi hỏi một chút về học máy. Một bộ phân loại được đào tạo để sử
dụng các mẫu positive và negative của khuôn mặt. Điểm dữ liệu positive sẽ là các
ví dụ khu vực có chứa một khn mặt. Các điểm dữ liệu negative sẽ là ví dụ về các
vùng không chứa khuôn mặt. Dựa vào những điểm dữ liệu này, chúng ta có thể đào
tạo một bộ phân loại để nhận biết liệu một vùng nhất định của hình ảnh có chứa
một khn mặt hay khơng.
OpenCv có thể phát hiện khuôn mặt bằng cách sử dụng Haar Cascade được đào tạo
trước. Điều này đảm bảo rằng không cần phải cung cấp các mẫu positive và
negative của riêng mình, huấn luyện bộ phân loại riêng của chúng tôi hoặc lo lắng
về việc điều chỉnh các tham số chính xác. Thay vào đó, người dùng chỉ cần tải lên
trình phân loại được đào tạo trước và phát hiện khuôn mặt trong ảnh. Đối với mỗi

Khoa Khoa Học Máy Tính – Lớp 18IT3

Bùi Xuân Thiện


<Tên đề tài>

điểm dừng dọc theo đường dẫn cửa sổ trượt, năm tính năng hình chữ nhật được
tính.
Để có được các tính năng cho từng khu vực trong năm hình chữ nhật này, chúng ta
chỉ cần trừ tổng số pixel ở vùng trắng cho tổng số pixel ở vùng đen. Thật thú vị,

các tính năng này có tầm quan trọng thực sự trong bối cảnh nhận diện khuôn mặt:
- Vùng mắt có xu hướng tối hơn vùng má.
- Vùng mũi sáng hơn vùng mắt.
Do đó, với năm vùng hình chữ nhật này, chúng ta có thể tạo thành các đặc điểm có
thể phân loại các phần của khn mặt. Sau đó, đối với tồn bộ tập hợp các tính
năng, chúng ta sẽ sử dụng thuật toán AdaBoost để chọn những tính năng tương ứng
với các vùng trên khn mặt của hình ảnh.
Để chống lại điều này, Viola và Jones đã đưa ra khái niệm về cascade hoặc stages.
Tại mỗi điểm dừng dọc theo đường dẫn cửa sổ trượt, cửa sổ phải vượt qua một loạt
các thử nghiệm trong đó mỗi thử nghiệm tiếp theo đắt hơn về mặt tính tốn so với
trước đó. Nếu bất kỳ một thử nghiệm thất bại, cửa sổ sẽ tự động bị loại bỏ.
Một số lợi ích của Haar cascade là họ rất nhanh trong việc tính tốn các Haar-like
features, do sử dụng hình ảnh tích hợp (cịn được gọi là bảng tổng hợp). Chúng
cũng rất hiệu quả để lựa chọn tính năng thơng qua việc sử dụng thuật tốn
AdaBoost. Có lẽ quan trọng nhất, họ có thể phát hiện khn mặt trong hình ảnh bất
kể vị trí hay quy mơ của khn mặt. Cuối cùng, thuật tốn Viola-Jones để phát hiện
đối tượng có khả năng chạy trong thời gian thực.

Sau khi đã phát hiện được khuôn mặt, việc tiếp theo sẽ chụp lại ảnh khuôn mặt và
lưu vào tập dữ liệu.

Khoa Khoa Học Máy Tính – Lớp 18IT3

Bùi Xuân Thiện


<Tên đề tài>

 Chụp lại ảnh người để nhận dạng khn mặt sau khi chạy tập lệnh
GetData.py. Nó tự động tạo thư mục Train trong thư mục Database có chứa

khn mặt để được công nhận.
 Trong khi tạo cơ sở dữ liệu, hình ảnh khn mặt phải có các biểu cảm khác
nhau, đó là lý do tại sao sự chậm trễ 0.38 giây được đưa ra để tạo tập dữ
liệu. Trong ví dụ này, chúng ta lấy khoảng 100 hình ảnh / một người,
chuyển hình ảnh sang màu xám và lưu vào thư mục cơ sở dữ liệu với tên của
nó.
Dùng camera để chụp ảnh dữ liệu, nhập thơng tin người dùng lưu tập dữ liệu.

Sử dụng thư viện OpenCv để mở camera từ máy tính. Hình ảnh nhận vào, hệ
thống xử lý và cắt khn mặt ra khỏi hình, chuyển sang hệ màu xám. Hình ảnh
khn mặt được lưu cùng với thông tin sẽ được lưu vào tập dữ liệu Dataset. Trong
quá trình lấy ảnh, người dùng thiết lập lấy 100 tấm ảnh để tăng độ chính xác. Sau
khi đã lấy đủ 100 tấm, hệ thống tự động tắt camera.

Khoa Khoa Học Máy Tính – Lớp 18IT3

Bùi Xuân Thiện


×